From ddd2ef965bfd34479708b5fca011966d2b2d8c8e Mon Sep 17 00:00:00 2001
From: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
Date: Tue, 24 Jan 2023 20:08:07 +0000
Subject: [PATCH] Documentation for 5b238724b87f6fbe141f0fe801518a3f5a22d8e5
---
annotated.html | 243 +--
annotated_dup.js | 9 +-
classes.html | 6 +-
d2/d90/namespacegreedy__algorithms.html | 7 +-
.../namespacestrassens__multiplication.html | 118 ++
...nge__queries_2sparse__table_8cpp__incl.map | 10 +-
...nge__queries_2sparse__table_8cpp__incl.md5 | 2 +-
...nge__queries_2sparse__table_8cpp__incl.svg | 38 +-
...oruvkas__minimum__spanning__tree_8cpp.html | 317 ++--
...lesman__using__bit__manipulation_8cpp.html | 123 +-
.../range__queries_2sparse__table_8cpp.html | 89 +-
d5/d88/md__d_i_r_e_c_t_o_r_y.html | 4 +
...multiplication_1_1_matrix__coll__graph.map | 4 +
...multiplication_1_1_matrix__coll__graph.md5 | 1 +
...multiplication_1_1_matrix__coll__graph.svg | 40 +
...ynamic__programming_2subset__sum_8cpp.html | 124 +-
d7/d81/namespacebit__manipulation.html | 6 +-
...1strassens__multiplication_1_1_matrix.html | 1326 +++++++++++++++++
...1_1strassens__multiplication_1_1_matrix.js | 20 +
...1f3a05cf5abdc5d63999ef1bf9f9256_cgraph.map | 6 +
...1f3a05cf5abdc5d63999ef1bf9f9256_cgraph.md5 | 1 +
...1f3a05cf5abdc5d63999ef1bf9f9256_cgraph.svg | 70 +
...fcb7db9bdeabd874712ec4f00483d17_cgraph.map | 4 +
...fcb7db9bdeabd874712ec4f00483d17_cgraph.md5 | 1 +
...fcb7db9bdeabd874712ec4f00483d17_cgraph.svg | 38 +
...2c986fb57b74fe1b7c5953cb1922c3d_cgraph.map | 5 +
...2c986fb57b74fe1b7c5953cb1922c3d_cgraph.md5 | 1 +
...2c986fb57b74fe1b7c5953cb1922c3d_cgraph.svg | 61 +
...aa49765cce39ce48b9241e993e0cfb9_cgraph.map | 4 +
...aa49765cce39ce48b9241e993e0cfb9_cgraph.md5 | 1 +
...aa49765cce39ce48b9241e993e0cfb9_cgraph.svg | 38 +
...62faa16a4b4ed5d4804823c56f99c9c_cgraph.map | 4 +
...62faa16a4b4ed5d4804823c56f99c9c_cgraph.md5 | 1 +
...62faa16a4b4ed5d4804823c56f99c9c_cgraph.svg | 38 +
...d8eb669b37a27224376b08515b4ee50_cgraph.map | 4 +
...d8eb669b37a27224376b08515b4ee50_cgraph.md5 | 1 +
...d8eb669b37a27224376b08515b4ee50_cgraph.svg | 38 +
...0599668b56001cef4bb59d4cb5c6c6c_cgraph.map | 6 +
...0599668b56001cef4bb59d4cb5c6c6c_cgraph.md5 | 1 +
...0599668b56001cef4bb59d4cb5c6c6c_cgraph.svg | 84 ++
...78681c9f6266a8219bd6bee6972d70e_cgraph.map | 5 +
...78681c9f6266a8219bd6bee6972d70e_cgraph.md5 | 1 +
...78681c9f6266a8219bd6bee6972d70e_cgraph.svg | 61 +
...7c2ed8f19bda2ad21ee4cbed32c394a_cgraph.map | 12 +
...7c2ed8f19bda2ad21ee4cbed32c394a_cgraph.md5 | 1 +
...7c2ed8f19bda2ad21ee4cbed32c394a_cgraph.svg | 298 ++++
...d8f19bda2ad21ee4cbed32c394a_cgraph_org.svg | 210 +++
...6534125643a02c114bd4cddba9bc17f_cgraph.map | 5 +
...6534125643a02c114bd4cddba9bc17f_cgraph.md5 | 1 +
...6534125643a02c114bd4cddba9bc17f_cgraph.svg | 53 +
...36ec1f1a97298e49de605384e5f8211_cgraph.map | 5 +
...36ec1f1a97298e49de605384e5f8211_cgraph.md5 | 1 +
...36ec1f1a97298e49de605384e5f8211_cgraph.svg | 61 +
...190115f8d4d31e47d7290e0b6871391_cgraph.map | 5 +
...190115f8d4d31e47d7290e0b6871391_cgraph.md5 | 1 +
...190115f8d4d31e47d7290e0b6871391_cgraph.svg | 61 +
...4e183ec8eab778cb243e4ae0b22a0f1_cgraph.map | 4 +
...4e183ec8eab778cb243e4ae0b22a0f1_cgraph.md5 | 1 +
...4e183ec8eab778cb243e4ae0b22a0f1_cgraph.svg | 38 +
...dbe01e48a96fefa0b393ec577b0f19e_cgraph.map | 4 +
...dbe01e48a96fefa0b393ec577b0f19e_cgraph.md5 | 1 +
...dbe01e48a96fefa0b393ec577b0f19e_cgraph.svg | 38 +
...09566a6a59d30875434c140e18e0a12_cgraph.map | 4 +
...09566a6a59d30875434c140e18e0a12_cgraph.md5 | 1 +
...09566a6a59d30875434c140e18e0a12_cgraph.svg | 38 +
...12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.map | 7 +
...12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.md5 | 1 +
...12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.svg | 91 ++
...inary__least__squares__regressor_8cpp.html | 2 +-
...2edd40354a1ca7aeaee3d1e3589e713_cgraph.map | 5 +-
...2edd40354a1ca7aeaee3d1e3589e713_cgraph.md5 | 2 +-
...2edd40354a1ca7aeaee3d1e3589e713_cgraph.svg | 33 +-
...c__programming_2subset__sum_8cpp__incl.map | 6 +-
...c__programming_2subset__sum_8cpp__incl.md5 | 2 +-
...c__programming_2subset__sum_8cpp__incl.svg | 34 +-
...as__minimum__spanning__tree_8cpp__incl.map | 10 +-
...as__minimum__spanning__tree_8cpp__incl.md5 | 2 +-
...as__minimum__spanning__tree_8cpp__incl.svg | 38 +-
dd/d24/namespacedynamic__programming.html | 3 +-
...ns__multiplication_1_1_matrix-members.html | 134 ++
dd/dba/namespacedivide__and__conquer.html | 4 +
...n__using__bit__manipulation_8cpp__incl.map | 4 +-
...n__using__bit__manipulation_8cpp__incl.md5 | 2 +-
...n__using__bit__manipulation_8cpp__incl.svg | 16 +-
functions_func_h.html | 1 +
functions_func_i.html | 4 +-
functions_func_m.html | 1 +
functions_func_n.html | 1 +
functions_func_o.html | 22 +-
functions_func_s.html | 4 +-
functions_func_u.html | 2 +-
functions_func_v.html | 1 +
functions_h.html | 1 +
functions_i.html | 4 +-
functions_m.html | 1 +
functions_n.html | 1 +
functions_o.html | 18 +-
functions_s.html | 4 +-
functions_u.html | 2 +-
functions_v.html | 1 +
globals_func_i.html | 2 +-
globals_i.html | 4 +-
globals_p.html | 2 +-
hierarchy.html | 123 +-
hierarchy.js | 5 +-
inherit_graph_100.map | 2 +-
inherit_graph_100.md5 | 2 +-
inherit_graph_100.svg | 4 +-
inherit_graph_101.map | 3 +
inherit_graph_101.md5 | 1 +
inherit_graph_101.svg | 21 +
inherit_graph_26.map | 2 +-
inherit_graph_26.md5 | 2 +-
inherit_graph_26.svg | 14 +-
inherit_graph_27.map | 2 +-
inherit_graph_27.md5 | 2 +-
inherit_graph_27.svg | 10 +-
inherit_graph_28.map | 2 +-
inherit_graph_28.md5 | 2 +-
inherit_graph_28.svg | 10 +-
inherit_graph_29.map | 2 +-
inherit_graph_29.md5 | 2 +-
inherit_graph_29.svg | 10 +-
inherit_graph_30.map | 2 +-
inherit_graph_30.md5 | 2 +-
inherit_graph_30.svg | 10 +-
inherit_graph_31.map | 2 +-
inherit_graph_31.md5 | 2 +-
inherit_graph_31.svg | 10 +-
inherit_graph_32.map | 2 +-
inherit_graph_32.md5 | 2 +-
inherit_graph_32.svg | 10 +-
inherit_graph_33.map | 2 +-
inherit_graph_33.md5 | 2 +-
inherit_graph_33.svg | 13 +-
inherit_graph_34.map | 2 +-
inherit_graph_34.md5 | 2 +-
inherit_graph_34.svg | 13 +-
inherit_graph_35.map | 2 +-
inherit_graph_35.md5 | 2 +-
inherit_graph_35.svg | 10 +-
inherit_graph_36.map | 2 +-
inherit_graph_36.md5 | 2 +-
inherit_graph_36.svg | 10 +-
inherit_graph_37.map | 3 +-
inherit_graph_37.md5 | 2 +-
inherit_graph_37.svg | 25 +-
inherit_graph_38.map | 3 +-
inherit_graph_38.md5 | 2 +-
inherit_graph_38.svg | 25 +-
inherit_graph_39.map | 2 +-
inherit_graph_39.md5 | 2 +-
inherit_graph_39.svg | 13 +-
inherit_graph_40.map | 2 +-
inherit_graph_40.md5 | 2 +-
inherit_graph_40.svg | 13 +-
inherit_graph_41.map | 2 +-
inherit_graph_41.md5 | 2 +-
inherit_graph_41.svg | 10 +-
inherit_graph_42.map | 2 +-
inherit_graph_42.md5 | 2 +-
inherit_graph_42.svg | 10 +-
inherit_graph_43.map | 2 +-
inherit_graph_43.md5 | 2 +-
inherit_graph_43.svg | 10 +-
inherit_graph_44.map | 2 +-
inherit_graph_44.md5 | 2 +-
inherit_graph_44.svg | 10 +-
inherit_graph_45.map | 2 +-
inherit_graph_45.md5 | 2 +-
inherit_graph_45.svg | 10 +-
inherit_graph_46.map | 2 +-
inherit_graph_46.md5 | 2 +-
inherit_graph_46.svg | 10 +-
inherit_graph_47.map | 2 +-
inherit_graph_47.md5 | 2 +-
inherit_graph_47.svg | 10 +-
inherit_graph_48.map | 2 +-
inherit_graph_48.md5 | 2 +-
inherit_graph_48.svg | 10 +-
inherit_graph_49.map | 2 +-
inherit_graph_49.md5 | 2 +-
inherit_graph_49.svg | 14 +-
inherit_graph_50.map | 2 +-
inherit_graph_50.md5 | 2 +-
inherit_graph_50.svg | 10 +-
inherit_graph_51.map | 2 +-
inherit_graph_51.md5 | 2 +-
inherit_graph_51.svg | 10 +-
inherit_graph_52.map | 2 +-
inherit_graph_52.md5 | 2 +-
inherit_graph_52.svg | 15 +-
inherit_graph_53.map | 2 +-
inherit_graph_53.md5 | 2 +-
inherit_graph_53.svg | 12 +-
inherit_graph_54.map | 2 +-
inherit_graph_54.md5 | 2 +-
inherit_graph_54.svg | 10 +-
inherit_graph_55.map | 2 +-
inherit_graph_55.md5 | 2 +-
inherit_graph_55.svg | 12 +-
inherit_graph_56.map | 2 +-
inherit_graph_56.md5 | 2 +-
inherit_graph_56.svg | 13 +-
inherit_graph_57.map | 2 +-
inherit_graph_57.md5 | 2 +-
inherit_graph_57.svg | 10 +-
inherit_graph_58.map | 2 +-
inherit_graph_58.md5 | 2 +-
inherit_graph_58.svg | 10 +-
inherit_graph_59.map | 2 +-
inherit_graph_59.md5 | 2 +-
inherit_graph_59.svg | 10 +-
inherit_graph_60.map | 2 +-
inherit_graph_60.md5 | 2 +-
inherit_graph_60.svg | 10 +-
inherit_graph_61.map | 2 +-
inherit_graph_61.md5 | 2 +-
inherit_graph_61.svg | 10 +-
inherit_graph_62.map | 2 +-
inherit_graph_62.md5 | 2 +-
inherit_graph_62.svg | 10 +-
inherit_graph_63.map | 2 +-
inherit_graph_63.md5 | 2 +-
inherit_graph_63.svg | 8 +-
inherit_graph_64.map | 2 +-
inherit_graph_64.md5 | 2 +-
inherit_graph_64.svg | 14 +-
inherit_graph_65.map | 2 +-
inherit_graph_65.md5 | 2 +-
inherit_graph_65.svg | 15 +-
inherit_graph_66.map | 2 +-
inherit_graph_66.md5 | 2 +-
inherit_graph_66.svg | 10 +-
inherit_graph_67.map | 2 +-
inherit_graph_67.md5 | 2 +-
inherit_graph_67.svg | 10 +-
inherit_graph_68.map | 2 +-
inherit_graph_68.md5 | 2 +-
inherit_graph_68.svg | 10 +-
inherit_graph_69.map | 2 +-
inherit_graph_69.md5 | 2 +-
inherit_graph_69.svg | 4 +-
inherit_graph_70.map | 2 +-
inherit_graph_70.md5 | 2 +-
inherit_graph_70.svg | 12 +-
inherit_graph_71.map | 2 +-
inherit_graph_71.md5 | 2 +-
inherit_graph_71.svg | 10 +-
inherit_graph_72.map | 2 +-
inherit_graph_72.md5 | 2 +-
inherit_graph_72.svg | 12 +-
inherit_graph_73.map | 2 +-
inherit_graph_73.md5 | 2 +-
inherit_graph_73.svg | 12 +-
inherit_graph_74.map | 2 +-
inherit_graph_74.md5 | 2 +-
inherit_graph_74.svg | 12 +-
inherit_graph_75.map | 2 +-
inherit_graph_75.md5 | 2 +-
inherit_graph_75.svg | 4 +-
inherit_graph_76.map | 2 +-
inherit_graph_76.md5 | 2 +-
inherit_graph_76.svg | 13 +-
inherit_graph_77.map | 2 +-
inherit_graph_77.md5 | 2 +-
inherit_graph_77.svg | 13 +-
inherit_graph_78.map | 2 +-
inherit_graph_78.md5 | 2 +-
inherit_graph_78.svg | 12 +-
inherit_graph_79.map | 2 +-
inherit_graph_79.md5 | 2 +-
inherit_graph_79.svg | 12 +-
inherit_graph_80.map | 2 +-
inherit_graph_80.md5 | 2 +-
inherit_graph_80.svg | 13 +-
inherit_graph_81.map | 2 +-
inherit_graph_81.md5 | 2 +-
inherit_graph_81.svg | 10 +-
inherit_graph_82.map | 2 +-
inherit_graph_82.md5 | 2 +-
inherit_graph_82.svg | 10 +-
inherit_graph_83.map | 4 +-
inherit_graph_83.md5 | 2 +-
inherit_graph_83.svg | 48 +-
inherit_graph_84.map | 4 +-
inherit_graph_84.md5 | 2 +-
inherit_graph_84.svg | 48 +-
inherit_graph_85.map | 2 +-
inherit_graph_85.md5 | 2 +-
inherit_graph_85.svg | 13 +-
inherit_graph_86.map | 2 +-
inherit_graph_86.md5 | 2 +-
inherit_graph_86.svg | 13 +-
inherit_graph_87.map | 2 +-
inherit_graph_87.md5 | 2 +-
inherit_graph_87.svg | 13 +-
inherit_graph_88.map | 2 +-
inherit_graph_88.md5 | 2 +-
inherit_graph_88.svg | 13 +-
inherit_graph_89.map | 2 +-
inherit_graph_89.md5 | 2 +-
inherit_graph_89.svg | 10 +-
inherit_graph_90.map | 2 +-
inherit_graph_90.md5 | 2 +-
inherit_graph_90.svg | 10 +-
inherit_graph_91.map | 2 +-
inherit_graph_91.md5 | 2 +-
inherit_graph_91.svg | 10 +-
inherit_graph_92.map | 2 +-
inherit_graph_92.md5 | 2 +-
inherit_graph_92.svg | 10 +-
inherit_graph_93.map | 2 +-
inherit_graph_93.md5 | 2 +-
inherit_graph_93.svg | 4 +-
inherit_graph_94.map | 8 +-
inherit_graph_94.md5 | 2 +-
inherit_graph_94.svg | 104 +-
inherit_graph_95.map | 8 +-
inherit_graph_95.md5 | 2 +-
inherit_graph_95.svg | 104 +-
inherit_graph_96.map | 2 +-
inherit_graph_96.md5 | 2 +-
inherit_graph_96.svg | 10 +-
inherit_graph_97.map | 2 +-
inherit_graph_97.md5 | 2 +-
inherit_graph_97.svg | 10 +-
inherit_graph_98.map | 2 +-
inherit_graph_98.md5 | 2 +-
inherit_graph_98.svg | 10 +-
inherit_graph_99.map | 2 +-
inherit_graph_99.md5 | 2 +-
inherit_graph_99.svg | 10 +-
inherits.html | 144 +-
namespaces.html | 47 +-
namespaces_dup.js | 1 +
navtreedata.js | 14 +-
navtreeindex0.js | 56 +-
navtreeindex1.js | 34 +-
navtreeindex10.js | 280 ++--
navtreeindex11.js | 216 +--
navtreeindex12.js | 100 +-
navtreeindex13.js | 23 +-
navtreeindex2.js | 228 +--
navtreeindex3.js | 138 +-
navtreeindex4.js | 20 +-
navtreeindex5.js | 112 +-
navtreeindex6.js | 92 +-
navtreeindex7.js | 124 +-
navtreeindex8.js | 154 +-
navtreeindex9.js | 162 +-
search/all_10.js | 38 +-
search/all_11.js | 4 +-
search/all_12.js | 4 +-
search/all_13.js | 4 +-
search/all_14.js | 352 ++---
search/all_16.js | 4 +-
search/all_17.js | 118 +-
search/all_2.js | 4 +-
search/all_3.js | 61 +-
search/all_4.js | 158 +-
search/all_5.js | 4 +-
search/all_6.js | 4 +-
search/all_9.js | 111 +-
search/all_a.js | 417 +++---
search/all_e.js | 193 ++-
search/all_f.js | 159 +-
search/classes_10.js | 9 +-
search/classes_15.js | 11 +-
search/classes_c.js | 65 +-
search/classes_d.js | 4 +-
search/functions_12.js | 4 +-
search/functions_13.js | 248 +--
search/functions_15.js | 4 +-
search/functions_16.js | 49 +-
search/functions_2.js | 4 +-
search/functions_3.js | 93 +-
search/functions_4.js | 4 +-
search/functions_5.js | 4 +-
search/functions_8.js | 59 +-
search/functions_9.js | 202 ++-
search/functions_d.js | 171 +--
search/functions_e.js | 115 +-
search/functions_f.js | 38 +-
search/namespaces_11.js | 17 +-
385 files changed, 6854 insertions(+), 3666 deletions(-)
create mode 100644 d3/d91/namespacestrassens__multiplication.html
create mode 100644 d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.map
create mode 100644 d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.md5
create mode 100644 d5/df1/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix__coll__graph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.js
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a01f3a05cf5abdc5d63999ef1bf9f9256_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a1fcb7db9bdeabd874712ec4f00483d17_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a42c986fb57b74fe1b7c5953cb1922c3d_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a4aa49765cce39ce48b9241e993e0cfb9_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a562faa16a4b4ed5d4804823c56f99c9c_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a5d8eb669b37a27224376b08515b4ee50_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a60599668b56001cef4bb59d4cb5c6c6c_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a678681c9f6266a8219bd6bee6972d70e_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_a87c2ed8f19bda2ad21ee4cbed32c394a_cgraph_org.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ab6534125643a02c114bd4cddba9bc17f_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ad36ec1f1a97298e49de605384e5f8211_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae190115f8d4d31e47d7290e0b6871391_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_ae4e183ec8eab778cb243e4ae0b22a0f1_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_aedbe01e48a96fefa0b393ec577b0f19e_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af09566a6a59d30875434c140e18e0a12_cgraph.svg
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.map
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.md5
create mode 100644 dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix_af12ceffdc07cc87eca8a4a8ac87d60fe_cgraph.svg
create mode 100644 dd/db6/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix-members.html
create mode 100644 inherit_graph_101.map
create mode 100644 inherit_graph_101.md5
create mode 100644 inherit_graph_101.svg
diff --git a/annotated.html b/annotated.html
index 94d2a55f9..22d319193 100644
--- a/annotated.html
+++ b/annotated.html
@@ -130,128 +130,131 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
C Node
C SkipList
C trie Trie implementation for small-case English alphabets a-z
- ► N double_hashing An implementation of hash table using double hashing algorithm
- C Entry
- ► N geometry For std::vector
- ► N grahamscan
- C Point
- ► N jarvis
- C Convexhull
- C Point
- ► N graph Graph Algorithms
- ► N is_graph_bipartite
- C Graph Class for representing graph as an adjacency list
- C Graph
- C HKGraph Represents Bipartite graph for Hopcroft Karp implementation
- C LowestCommonAncestor
- C RootedTree
- ► N linear_probing An implementation of hash table using linear probing algorithm
- C Entry
- ► N machine_learning A* search algorithm
- ► N aystar_search
- ► C AyStarSearch A class defining A* search algorithm . for some initial state and final state
- C comparison_operator Custom comparator for open_list
- C Info Struct that handles all the information related to the current state
- C EightPuzzle A class defining EightPuzzle/15-Puzzle game
- ► N neural_network
- ► N layers
- C DenseLayer
- C NeuralNetwork
- C adaline
- ► N math For IO operations
- ► N ncr_modulo_p
- C NCRModuloP Class which contains all methods required for calculating nCr mod p
- C Point
- ► N operations_on_datastructures For std::vector
- ► N circular_linked_list
- C CircularLinkedList A class that implements a Circular Linked List
- C Node A Node struct that represents a single Node in a Binary Tree
- ► N inorder_traversal_of_bst
- C Node A Node structure representing a single node in BST
- ► N reverse_binary_tree
- C BinaryTree A Binary Tree class that implements a Binary Search Tree (BST) by default
- C Node A Node struct that represents a single node in a Binary Tree
- ► N trie_operations
- C Tnode Class defining the structure of trie node and containing the methods to perform operations on them
- ► N others For vector
- ► N iterative_tree_traversals
- C BinaryTree Defines the functions associated with the binary tree
- C Node Defines the structure of a node of the tree
- ► N lru_cache
- C LRUCache LRU cache class
- ► N postfix_expression
- C Stack Creates an array to be used as stack for storing values
- ► N recursive_tree_traversals
- C BT BT used to make the entire structure of the binary tree and the functions associated with the binary tree
- C Node The structure to hold Nodes of the tree
- ► N probability Probability algorithms
- ► N geometric_dist
- C geometric_distribution A class to model the geometric distribution
- ► N windowed_median
- C WindowedMedian A class to calculate the median of a leading sliding window at the back of a stream of integer values
- ► N quadratic_probing An implementation of hash table using quadratic probing algorithm
- C Entry
- ► N range_queries Algorithms and Data Structures that support range queries and updates
- ► N heavy_light_decomposition
- C HLD The Heavy-Light Decomposition class
- C SG Segment Tree , to store heavy chains
- C Tree A Basic Tree , which supports binary lifting
- ► C perSegTree Range query here is range sum, but the code can be modified to make different queries like range max or min
- C Node
- ► N search For std::vector
- ► N sublist_search
- C Node A Node structure representing a single link Node in a linked list
- ► N statistics Statistical algorithms
- C stats_computer1
- C stats_computer2
- ► N std STL namespace
- C is_arithmetic< uint128_t >
- C is_arithmetic< uint256_t >
- C is_integral< uint128_t >
- C is_integral< uint256_t >
- C is_unsigned< uint128_t >
- C is_unsigned< uint256_t >
- ► C binary_search_tree The Binary Search Tree class
- C bst_node A struct to represent a node in the Binary Search Tree
- C Btree
- C cll
- C Compare Comparator class for priority queue
- C compare
- C Complex Class Complex to represent complex numbers as a field
- C CycleCheck
- C double_linked_list
- C dsu Disjoint sets union data structure, class based representation
- C EasterYearMonthDay For IO operations
- C Edge
- C FCFS Class which implements the FCFS scheduling algorithm
- C FenwickTree
- C Graph
- C hash_chain Chain class with a given modulus
- C Item
- C large_number
- C linkedlist
- C list
- C ListNode For IO operations
- C MinHeap
- C MinHeapNode
- C mst
- C Node
+ ► N divide_and_conquer For std::vector
+ ► N strassens_multiplication
+ C Matrix Matrix class
+ ► N double_hashing An implementation of hash table using double hashing algorithm
+ C Entry
+ ► N geometry For std::vector
+ ► N grahamscan
+ C Point
+ ► N jarvis
+ C Convexhull
+ C Point
+ ► N graph Graph Algorithms
+ ► N is_graph_bipartite
+ C Graph Class for representing graph as an adjacency list
+ C Graph
+ C HKGraph Represents Bipartite graph for Hopcroft Karp implementation
+ C LowestCommonAncestor
+ C RootedTree
+ ► N linear_probing An implementation of hash table using linear probing algorithm
+ C Entry
+ ► N machine_learning A* search algorithm
+ ► N aystar_search
+ ► C AyStarSearch A class defining A* search algorithm . for some initial state and final state
+ C comparison_operator Custom comparator for open_list
+ C Info Struct that handles all the information related to the current state
+ C EightPuzzle A class defining EightPuzzle/15-Puzzle game
+ ► N neural_network
+ ► N layers
+ C DenseLayer
+ C NeuralNetwork
+ C adaline
+ ► N math For IO operations
+ ► N ncr_modulo_p
+ C NCRModuloP Class which contains all methods required for calculating nCr mod p
+ C Point
+ ► N operations_on_datastructures For std::vector
+ ► N circular_linked_list
+ C CircularLinkedList A class that implements a Circular Linked List
+ C Node A Node struct that represents a single Node in a Binary Tree
+ ► N inorder_traversal_of_bst
+ C Node A Node structure representing a single node in BST
+ ► N reverse_binary_tree
+ C BinaryTree A Binary Tree class that implements a Binary Search Tree (BST) by default
+ C Node A Node struct that represents a single node in a Binary Tree
+ ► N trie_operations
+ C Tnode Class defining the structure of trie node and containing the methods to perform operations on them
+ ► N others For vector
+ ► N iterative_tree_traversals
+ C BinaryTree Defines the functions associated with the binary tree
+ C Node Defines the structure of a node of the tree
+ ► N lru_cache
+ C LRUCache LRU cache class
+ ► N postfix_expression
+ C Stack Creates an array to be used as stack for storing values
+ ► N recursive_tree_traversals
+ C BT BT used to make the entire structure of the binary tree and the functions associated with the binary tree
+ C Node The structure to hold Nodes of the tree
+ ► N probability Probability algorithms
+ ► N geometric_dist
+ C geometric_distribution A class to model the geometric distribution
+ ► N windowed_median
+ C WindowedMedian A class to calculate the median of a leading sliding window at the back of a stream of integer values
+ ► N quadratic_probing An implementation of hash table using quadratic probing algorithm
+ C Entry
+ ► N range_queries Algorithms and Data Structures that support range queries and updates
+ ► N heavy_light_decomposition
+ C HLD The Heavy-Light Decomposition class
+ C SG Segment Tree , to store heavy chains
+ C Tree A Basic Tree , which supports binary lifting
+ ► C perSegTree Range query here is range sum, but the code can be modified to make different queries like range max or min
+ C Node
+ ► N search For std::vector
+ ► N sublist_search
+ C Node A Node structure representing a single link Node in a linked list
+ ► N statistics Statistical algorithms
+ C stats_computer1
+ C stats_computer2
+ ► N std STL namespace
+ C is_arithmetic< uint128_t >
+ C is_arithmetic< uint256_t >
+ C is_integral< uint128_t >
+ C is_integral< uint256_t >
+ C is_unsigned< uint128_t >
+ C is_unsigned< uint256_t >
+ ► C binary_search_tree The Binary Search Tree class
+ C bst_node A struct to represent a node in the Binary Search Tree
+ C Btree
+ C cll
+ C Compare Comparator class for priority queue
+ C compare
+ C Complex Class Complex to represent complex numbers as a field
+ C CycleCheck
+ C double_linked_list
+ C dsu Disjoint sets union data structure, class based representation
+ C EasterYearMonthDay For IO operations
+ C Edge
+ C FCFS Class which implements the FCFS scheduling algorithm
+ C FenwickTree
+ C Graph
+ C hash_chain Chain class with a given modulus
+ C Item
+ C large_number
+ C linkedlist
+ C list
+ C ListNode For IO operations
+ C MinHeap
+ C MinHeapNode
+ C mst
C node For std::vector
- C Point
- C query
- C Queue
+ C Node
+ C Point
+ C query
C queue
- C RBtree
- C SegmentIntersection
- C Solution
- C stack
- C stack_linkedList
- C TestCases Class encapsulating the necessary test cases
- C tower
- ► C Trie
- C TrieNode
- C uint128_t Class for 128-bit unsigned integer
- C uint256_t Class for 256-bit unsigned integer
+ C Queue
+ C RBtree
+ C SegmentIntersection
+ C Solution
+ C stack
+ C stack_linkedList
+ C TestCases Class encapsulating the necessary test cases
+ C tower
+ ► C Trie
+ C TrieNode
+ C uint128_t Class for 128-bit unsigned integer
+ C uint256_t Class for 256-bit unsigned integer
diff --git a/annotated_dup.js b/annotated_dup.js
index 754f526d9..f3c8e55d8 100644
--- a/annotated_dup.js
+++ b/annotated_dup.js
@@ -37,6 +37,11 @@ var annotated_dup =
[ "SkipList", "d4/d90/classdata__structures_1_1_skip_list.html", "d4/d90/classdata__structures_1_1_skip_list" ],
[ "trie", "d0/d3e/classdata__structures_1_1trie.html", "d0/d3e/classdata__structures_1_1trie" ]
] ],
+ [ "divide_and_conquer", "dd/dba/namespacedivide__and__conquer.html", [
+ [ "strassens_multiplication", null, [
+ [ "Matrix", "dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix.html", "dc/d13/classdivide__and__conquer_1_1strassens__multiplication_1_1_matrix" ]
+ ] ]
+ ] ],
[ "double_hashing", "d0/d65/namespacedouble__hashing.html", [
[ "Entry", "d9/dde/structdouble__hashing_1_1_entry.html", "d9/dde/structdouble__hashing_1_1_entry" ]
] ],
@@ -171,12 +176,12 @@ var annotated_dup =
[ "MinHeap", "d2/d05/class_min_heap.html", "d2/d05/class_min_heap" ],
[ "MinHeapNode", "d5/d29/struct_min_heap_node.html", null ],
[ "mst", "d1/d77/structmst.html", null ],
- [ "Node", "db/d8b/struct_node.html", null ],
[ "node", "d5/da1/structnode.html", "d5/da1/structnode" ],
+ [ "Node", "db/d8b/struct_node.html", null ],
[ "Point", "d8/dc8/struct_point.html", "d8/dc8/struct_point" ],
[ "query", "dd/d1b/structquery.html", null ],
- [ "Queue", "dc/db5/struct_queue.html", null ],
[ "queue", "db/da9/classqueue.html", "db/da9/classqueue" ],
+ [ "Queue", "dc/db5/struct_queue.html", null ],
[ "RBtree", "d8/d72/class_r_btree.html", null ],
[ "SegmentIntersection", "d4/db4/struct_segment_intersection.html", "d4/db4/struct_segment_intersection" ],
[ "Solution", "dd/d4f/class_solution.html", null ],
diff --git a/classes.html b/classes.html
index 74d6972fa..aaf1d04b5 100644
--- a/classes.html
+++ b/classes.html
@@ -134,16 +134,16 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
large_number link (data_structures::linked_list)linkedlist list (data_structures::linked_list)list (data_structures::list_array)list ListNode LowestCommonAncestor (graph )LRUCache (others::lru_cache)
M
-MinHeap MinHeapNode mst
+Matrix (divide_and_conquer::strassens_multiplication)MinHeap MinHeapNode mst
N
-NCRModuloP (math::ncr_modulo_p)NeuralNetwork (machine_learning::neural_network)Node (data_structures::linked_list)Node (data_structures )Node (data_structures::tree_234)Trie::Node (data_structures::trie_using_hashmap)Node node Node (operations_on_datastructures::circular_linked_list)Node (operations_on_datastructures::inorder_traversal_of_bst)Node (operations_on_datastructures::reverse_binary_tree)Node (others::iterative_tree_traversals)Node (others::recursive_tree_traversals)perSegTree::Node (range_queries )Node (search::sublist_search)
+NCRModuloP (math::ncr_modulo_p)NeuralNetwork (machine_learning::neural_network)Node (data_structures::linked_list)Node (data_structures )Node (data_structures::tree_234)Trie::Node (data_structures::trie_using_hashmap)node Node Node (operations_on_datastructures::circular_linked_list)Node (operations_on_datastructures::inorder_traversal_of_bst)Node (operations_on_datastructures::reverse_binary_tree)Node (others::iterative_tree_traversals)Node (others::recursive_tree_traversals)perSegTree::Node (range_queries )Node (search::sublist_search)
P
perSegTree (range_queries )Point (ciphers::elliptic_curve_key_exchange )Point (geometry::grahamscan)Point (geometry::jarvis)Point (math )Point
Q
-query Queue queue Queue_Array (data_structures::queue_using_array)
+query queue Queue Queue_Array (data_structures::queue_using_array)
R
RBtree RootedTree (graph )
diff --git a/d2/d90/namespacegreedy__algorithms.html b/d2/d90/namespacegreedy__algorithms.html
index b3dad563e..cf5cbc574 100644
--- a/d2/d90/namespacegreedy__algorithms.html
+++ b/d2/d90/namespacegreedy__algorithms.html
@@ -101,11 +101,12 @@ $(document).ready(function(){initNavTree('d2/d90/namespacegreedy__algorithms.htm
-
Greedy Algorithms.
+
for std::vector
More...
-
Greedy Algorithms.
-
for IO operations for std::vector for assert for INT_MAX
+
for std::vector
+
for assert for INT_MAX for IO operations
+
Greedy Algorithms
diff --git a/d3/d91/namespacestrassens__multiplication.html b/d3/d91/namespacestrassens__multiplication.html
new file mode 100644
index 000000000..b063a10d4
--- /dev/null
+++ b/d3/d91/namespacestrassens__multiplication.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+Algorithms_in_C++: strassens_multiplication Namespace Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Algorithms_in_C++ 1.0.0
+
+ Set of algorithms implemented in C++.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
Namespace for performing strassen's multiplication.
+More...
+
+
Namespace for performing strassen's multiplication.
+
+
+
+
+
+
diff --git a/d4/d31/range__queries_2sparse__table_8cpp__incl.map b/d4/d31/range__queries_2sparse__table_8cpp__incl.map
index 1f3a44eac..e26f1d1a2 100644
--- a/d4/d31/range__queries_2sparse__table_8cpp__incl.map
+++ b/d4/d31/range__queries_2sparse__table_8cpp__incl.map
@@ -1,7 +1,7 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/d4/d31/range__queries_2sparse__table_8cpp__incl.md5 b/d4/d31/range__queries_2sparse__table_8cpp__incl.md5
index 7b897d515..59256ac2e 100644
--- a/d4/d31/range__queries_2sparse__table_8cpp__incl.md5
+++ b/d4/d31/range__queries_2sparse__table_8cpp__incl.md5
@@ -1 +1 @@
-488f94594ebd0a69fb5c6ebdfeb7e7ba
\ No newline at end of file
+4bb86a207e8714317c614032f142f355
\ No newline at end of file
diff --git a/d4/d31/range__queries_2sparse__table_8cpp__incl.svg b/d4/d31/range__queries_2sparse__table_8cpp__incl.svg
index 0217ebbc9..1f861a398 100644
--- a/d4/d31/range__queries_2sparse__table_8cpp__incl.svg
+++ b/d4/d31/range__queries_2sparse__table_8cpp__incl.svg
@@ -12,9 +12,9 @@
Node1
-
-range_queries/sparse
-_table.cpp
+
+range_queries/sparse
+_table.cpp
@@ -22,61 +22,61 @@
Node2
-
-vector
+
+algorithm
Node1->Node2
-
-
+
+
Node3
-
-cassert
+
+cassert
Node1->Node3
-
-
+
+
Node4
-
-iostream
+
+iostream
Node1->Node4
-
-
+
+
Node5
-
-algorithm
+
+vector
Node1->Node5
-
-
+
+
diff --git a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html
index ab3ed0f81..ea4a5d636 100644
--- a/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html
+++ b/d4/d6c/boruvkas__minimum__spanning__tree_8cpp.html
@@ -106,10 +106,10 @@ $(document).ready(function(){initNavTree('d4/d6c/boruvkas__minimum__spanning__tr
[Borůvkas Algorithm](https://en.wikipedia.org/wiki/Borůvka's_algorithm ) to find the Minimum Spanning Tree
More...
-#include <iostream>
-
#include <vector>
-
#include <cassert>
+
#include <cassert>
#include <climits>
+#include <iostream>
+#include <vector>
@@ -120,7 +120,7 @@ Include dependency graph for boruvkas_minimum_spanning_tree.cpp:
namespace greedy_algorithms
-
Greedy Algorithms.
+
for std::vector
namespace boruvkas_minimum_spanning_tree
Functions for the [Borůvkas Algorithm](https://en.wikipedia.org/wiki/Borůvka's_algorithm ) implementation.
@@ -150,7 +150,8 @@ Functions
Boruvka's algorithm is a greepy algorithm to find the MST by starting with small trees, and combining them to build bigger ones.
Creates a group for every vertex.
looks through each edge of every vertex for the smallest weight. Keeps track of the smallest edge for each of the current groups.
-Combine each group with the group it shares its smallest edge, adding the smallest edge to the MST.
+
+
Combine each group with the group it shares its smallest edge, adding the smallest edge to the MST.
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
@@ -179,112 +180,116 @@ Functions
Returns the MST as 2d vectors
-
57 {
-
58
-
59 size_t size = adj.
size ();
-
60 size_t total_groups = size;
-
61
-
62 if (size <= 1) {
-
63 return adj;
-
64 }
-
65
-
66
-
-
68 for (int i = 0; i < size; i++) {
-
69 MST[i][i] = 0;
-
70 }
-
71
-
72
-
73
-
74
-
+
60 {
+
61 size_t size = adj.
size ();
+
62 size_t total_groups = size;
+
63
+
64 if (size <= 1) {
+
65 return adj;
+
66 }
+
67
+
68
+
69
+
+
71 for (int i = 0; i < size; i++) {
+
72 MST[i][i] = 0;
+
73 }
+
74
+
75
76
-
77 for (int i = 0; i < size; i++) {
-
78 parent[i].first = i;
-
79 }
+
77
+
78
+
80
-
81
-
82 while (total_groups > 1) {
-
83
-
+
81 for (int i = 0; i < size; i++) {
+
82 parent[i].first =
+
83 i;
+
84 }
85
-
86
-
87 for (int i = 0; i < size; i++) {
-
88 for (int j = i+1; j < size; j++) {
-
89
-
90 if (adj[i][j] == INT_MAX || adj[i][j] == 0) {
-
91 continue ;
-
92 }
-
93
-
94
-
-
-
97
-
98 if (parentA != parentB) {
-
99
-
100
-
101 int start = smallest_edge[parentA].first;
-
102 int end = smallest_edge[parentA].second;
+
86
+
87 while (total_groups > 1) {
+
+
+
90
+
91
+
92
+
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) {
+
96 continue ;
+
97 }
+
98
+
99
+
100
+
+
103
-
104
-
105 if (start == -1 || adj [i][j] < adj[start][end]) {
-
106 smallest_edge[parentA].first = i;
-
107 smallest_edge[parentA].second = j;
-
108 }
+
104 if (parentA != parentB) {
+
105
+
106
+
107 int start = smallest_edge[parentA].first;
+
108 int end = smallest_edge[parentA].second;
109
-
110
-
111 start = smallest_edge[parentB].first;
-
112 end = smallest_edge[parentB].second;
-
113
-
114 if (start == -1 || adj[j][i] < adj[start][end]) {
-
115 smallest_edge[parentB].first = j;
-
116 smallest_edge[parentB].second = i;
-
117 }
-
118 }
-
119 }
-
120 }
-
121
-
122
-
123
-
124 for (int i = 0; i < size; i++) {
-
125
-
126
-
127 if (smallest_edge[i].first != -1) {
+
110
+
111
+
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
+
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
-
130 int start = smallest_edge[i].first;
-
131 int end = smallest_edge[i].second;
-
132
-
133
-
134 int parentA = i;
-
-
136
-
137
-
138
-
139 if (parentA == parentB) {
-
140 continue ;
-
141 }
-
142
-
143
-
144
-
145 if (parent[parentA].second < parent[parentB].second) {
-
146 parent[parentB].first = parentA;
-
147 parent[parentB].second++;
-
148 }
-
149 else {
-
150 parent[parentA].first = parentB;
-
151 parent[parentA].second++;
-
152 }
-
153
-
154 MST[start][
end ] = adj[start][
end ];
-
155 MST[
end ][start] = adj[
end ][start];
-
156 total_groups--;
-
157 }
-
158 }
-
159 }
-
160 return MST;
-
161 }
-
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:44
+
129
+
130
+
131 for (int i = 0; i < size; i++) {
+
132
+
133 if (smallest_edge[i].first != -1) {
+
134
+
135 int start = smallest_edge[i].first;
+
136 int end = smallest_edge[i].second;
+
137
+
138
+
139 int parentA = i;
+
+
141
+
142
+
143
+
144
+
145 if (parentA == parentB) {
+
146 continue ;
+
147 }
+
148
+
149
+
150
+
151
+
152 if (parent[parentA].second < parent[parentB].second) {
+
153 parent[parentB].first = parentA;
+
154 parent[parentB].second++;
+
155 } else {
+
156 parent[parentA].first = parentB;
+
157 parent[parentA].second++;
+
158 }
+
159
+
160
+
161 MST[start][
end ] = adj[start][
end ];
+
162 MST[
end ][start] = adj[
end ][start];
+
163 total_groups--;
+
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
@@ -333,13 +338,13 @@ Here is the call graph for this function:
Returns the parent of the vertex
-
44 {
-
45 if (parent[v].first != v) {
-
46 parent[v].first =
findParent (parent, parent[v].first);
-
47 }
-
48
-
49 return parent[v].first;
-
50 }
+
47 {
+
48 if (parent[v].first != v) {
+
49 parent[v].first =
findParent (parent, parent[v].first);
+
50 }
+
51
+
52 return parent[v].first;
+
53 }
@@ -367,11 +372,11 @@ Here is the call graph for this function:
Main function.
Returns 0 on exit
-
219 {
-
-
221 return 0;
-
222 }
-
static void tests()
Self-test implementations.
Definition: boruvkas_minimum_spanning_tree.cpp:190
+
224 {
+
+
226 return 0;
+
227 }
+
static void tests()
Self-test implementations.
Definition: boruvkas_minimum_spanning_tree.cpp:196
@@ -405,21 +410,20 @@ Here is the call graph for this function:
Returns the int size of the tree
-
168 {
-
169
-
170 size_t size = adj.
size ();
-
-
172
-
173
-
174 for (int i = 0; i < size; i++) {
-
175 for (int j = i + 1; j < size; j++) {
-
176 if (adj[i][j] < INT_MAX) {
-
-
178 }
-
179 }
-
180 }
-
-
182 }
+
175 {
+
176 size_t size = adj.
size ();
+
+
178
+
179
+
180 for (int i = 0; i < size; i++) {
+
181 for (int j = i + 1; j < size; j++) {
+
182 if (adj[i][j] < INT_MAX) {
+
+
184 }
+
185 }
+
186 }
+
+
188 }
T sum(const std::vector< std::valarray< T > > &A)
Definition: vector_ops.hpp:232
@@ -455,32 +459,31 @@ Here is the call graph for this function:
Self-test implementations.
Returns void
-
190 {
-
-
-
193 {0, 5, INT_MAX, 3, INT_MAX} ,
-
194 {5, 0, 2, INT_MAX, 5} ,
-
195 {INT_MAX, 2, 0, INT_MAX, 3} ,
-
196 {3, INT_MAX, INT_MAX, 0, INT_MAX} ,
-
197 {INT_MAX, 5, 3, INT_MAX, 0} ,
-
198 };
-
-
200 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(MST) == 13);
-
-
202
-
-
204 { 0, 2, 0, 6, 0 },
-
205 { 2, 0, 3, 8, 5 },
-
206 { 0, 3, 0, 0, 7 },
-
207 { 6, 8, 0, 0, 9 },
-
208 { 0, 5, 7, 9, 0 }
-
209 };
-
-
211 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(MST) == 16);
-
-
213 }
+
196 {
+
+
+
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 };
+
+
+
205 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(
+
206 MST) == 13);
+
+
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}};
+
+
215 assert(greedy_algorithms::boruvkas_minimum_spanning_tree::test_findGraphSum(
+
216 MST) == 16);
+
+
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:57
+
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