Documentation for 8b1eab204b

This commit is contained in:
realstealthninja
2024-11-04 12:43:05 +00:00
parent 4fb6e622e9
commit a7bccf7d01
6732 changed files with 153919 additions and 365711 deletions

View File

@@ -1,5 +1,5 @@
<map id="greedy_algorithms::dijkstra::Graph" name="greedy_algorithms::dijkstra::Graph">
<area shape="rect" id="Node000001" title="Wrapper class for storing a graph." alt="" coords="16,109,152,150"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="5,5,163,46"/>
<area shape="rect" id="Node000002" title=" " alt="" coords="5,5,163,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="87,62,87,109,81,109,81,62"/>
</map>

View File

@@ -1 +1 @@
24db918ea4b864252d7d1e4eb4c36930
688de14e7efb7d4a90281b5af0b3cd06

View File

@@ -32,7 +32,7 @@
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
<g id="a_Node000002"><a xlink:title=" ">
<polygon fill="white" stroke="#666666" points="118,-108.25 0,-108.25 0,-77.75 118,-77.75 118,-108.25"/>
<text text-anchor="start" x="8" y="-94.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; std::vector</text>
<text text-anchor="middle" x="59" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; int &gt; &gt;</text>

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@@ -21,7 +21,7 @@
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
<g id="a_Node000002"><a xlink:title=" ">
<polygon fill="white" stroke="#666666" points="118,-108.25 0,-108.25 0,-77.75 118,-77.75 118,-108.25"/>
<text text-anchor="start" x="8" y="-94.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; std::vector</text>
<text text-anchor="middle" x="59" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; int &gt; &gt;</text>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -1,3 +1,4 @@
<!-- HTML header for doxygen 1.12.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
@@ -5,10 +6,15 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: graph Namespace Reference</title>
<title>TheAlgorithms/C++: graph Namespace Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@xpack-3rd-party/doxygen-awesome-css@2.2.0-1/doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
@@ -18,14 +24,24 @@
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
<script type="text/javascript">
window.MathJax = {
options: {
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
},
loader: {
load: ['[tex]/ams']
},
tex: {
macros: {},
packages: ['base','configmacros','ams']
}
};
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
<script type="text/javascript" id="MathJax-script" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../project_logo.png"/></td>
<td id="projectalign">
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
<div id="projectname">TheAlgorithms/C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
<div id="projectbrief">All the algorithms implemented in C++</div>
</td>
</tr>
</tbody>
@@ -128,37 +145,37 @@ Classes</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a9125ceb66bfbec3093bba64c2c1e99e2" id="r_a9125ceb66bfbec3093bba64c2c1e99e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9125ceb66bfbec3093bba64c2c1e99e2">addEdge</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt; *adj, int u, int v)</td></tr>
<tr class="memitem:a9125ceb66bfbec3093bba64c2c1e99e2" id="r_a9125ceb66bfbec3093bba64c2c1e99e2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9125ceb66bfbec3093bba64c2c1e99e2">addEdge</a> (std::vector&lt; std::vector&lt; int &gt; &gt; *adj, int u, int v)</td></tr>
<tr class="memdesc:a9125ceb66bfbec3093bba64c2c1e99e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that add edge between two nodes or vertices of graph. <br /></td></tr>
<tr class="separator:a9125ceb66bfbec3093bba64c2c1e99e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ae80bc4c6a79d041b4f3a6589eb7fb8" id="r_a3ae80bc4c6a79d041b4f3a6589eb7fb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ae80bc4c6a79d041b4f3a6589eb7fb8">explore</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt; *adj, int u, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; bool &gt; *visited)</td></tr>
<tr class="memitem:a3ae80bc4c6a79d041b4f3a6589eb7fb8" id="r_a3ae80bc4c6a79d041b4f3a6589eb7fb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ae80bc4c6a79d041b4f3a6589eb7fb8">explore</a> (const std::vector&lt; std::vector&lt; int &gt; &gt; *adj, int u, std::vector&lt; bool &gt; *visited)</td></tr>
<tr class="memdesc:a3ae80bc4c6a79d041b4f3a6589eb7fb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Utility function for depth first seach algorithm this function explores the vertex which is passed into. <br /></td></tr>
<tr class="separator:a3ae80bc4c6a79d041b4f3a6589eb7fb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83ab16e96cec644109a58dfc9329bc2b" id="r_a83ab16e96cec644109a58dfc9329bc2b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a83ab16e96cec644109a58dfc9329bc2b">getConnectedComponents</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt; *adj)</td></tr>
<tr class="memitem:a83ab16e96cec644109a58dfc9329bc2b" id="r_a83ab16e96cec644109a58dfc9329bc2b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a83ab16e96cec644109a58dfc9329bc2b">getConnectedComponents</a> (const std::vector&lt; std::vector&lt; int &gt; &gt; *adj)</td></tr>
<tr class="memdesc:a83ab16e96cec644109a58dfc9329bc2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that perfoms depth first search algorithm on graph and calculated the number of connected components. <br /></td></tr>
<tr class="separator:a83ab16e96cec644109a58dfc9329bc2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4016cfc80485a43748895a2c26c7d08" id="r_ad4016cfc80485a43748895a2c26c7d08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad4016cfc80485a43748895a2c26c7d08">addEdge</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; size_t &gt; &gt; *adj, size_t u, size_t v)</td></tr>
<tr class="memitem:ad4016cfc80485a43748895a2c26c7d08" id="r_ad4016cfc80485a43748895a2c26c7d08"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad4016cfc80485a43748895a2c26c7d08">addEdge</a> (std::vector&lt; std::vector&lt; size_t &gt; &gt; *adj, size_t u, size_t v)</td></tr>
<tr class="memdesc:ad4016cfc80485a43748895a2c26c7d08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds and edge between two vertices of graph say u and v in this case. <br /></td></tr>
<tr class="separator:ad4016cfc80485a43748895a2c26c7d08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64c1db5aad7502c6f08e4652f6edd463" id="r_a64c1db5aad7502c6f08e4652f6edd463"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a64c1db5aad7502c6f08e4652f6edd463">explore</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; size_t &gt; &gt; &amp;adj, size_t v, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; bool &gt; *visited)</td></tr>
<tr class="memitem:a64c1db5aad7502c6f08e4652f6edd463" id="r_a64c1db5aad7502c6f08e4652f6edd463"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a64c1db5aad7502c6f08e4652f6edd463">explore</a> (const std::vector&lt; std::vector&lt; size_t &gt; &gt; &amp;adj, size_t v, std::vector&lt; bool &gt; *visited)</td></tr>
<tr class="memdesc:a64c1db5aad7502c6f08e4652f6edd463"><td class="mdescLeft">&#160;</td><td class="mdescRight">Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored. <br /></td></tr>
<tr class="separator:a64c1db5aad7502c6f08e4652f6edd463"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5428a3519267a28bba4b4310cfbb6ae" id="r_ab5428a3519267a28bba4b4310cfbb6ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab5428a3519267a28bba4b4310cfbb6ae">depth_first_search</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; size_t &gt; &gt; &amp;adj, size_t start)</td></tr>
<tr class="memitem:ab5428a3519267a28bba4b4310cfbb6ae" id="r_ab5428a3519267a28bba4b4310cfbb6ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab5428a3519267a28bba4b4310cfbb6ae">depth_first_search</a> (const std::vector&lt; std::vector&lt; size_t &gt; &gt; &amp;adj, size_t start)</td></tr>
<tr class="memdesc:ab5428a3519267a28bba4b4310cfbb6ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">initiates depth first search algorithm. <br /></td></tr>
<tr class="separator:ab5428a3519267a28bba4b4310cfbb6ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e30e0dca68cb6e4f671440819b35b6a" id="r_a0e30e0dca68cb6e4f671440819b35b6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e30e0dca68cb6e4f671440819b35b6a">addEdge</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, int &gt; &gt; &gt; *adj, int u, int v, int w)</td></tr>
<tr class="memitem:a0e30e0dca68cb6e4f671440819b35b6a" id="r_a0e30e0dca68cb6e4f671440819b35b6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0e30e0dca68cb6e4f671440819b35b6a">addEdge</a> (std::vector&lt; std::vector&lt; std::pair&lt; int, int &gt; &gt; &gt; *adj, int u, int v, int w)</td></tr>
<tr class="memdesc:a0e30e0dca68cb6e4f671440819b35b6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that add edge between two nodes or vertices of graph. <br /></td></tr>
<tr class="separator:a0e30e0dca68cb6e4f671440819b35b6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc68cbc8ba09eb1142265935c0d45b84" id="r_adc68cbc8ba09eb1142265935c0d45b84"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adc68cbc8ba09eb1142265935c0d45b84">dijkstra</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, int &gt; &gt; &gt; *adj, int s, int t)</td></tr>
<tr class="memitem:adc68cbc8ba09eb1142265935c0d45b84" id="r_adc68cbc8ba09eb1142265935c0d45b84"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adc68cbc8ba09eb1142265935c0d45b84">dijkstra</a> (std::vector&lt; std::vector&lt; std::pair&lt; int, int &gt; &gt; &gt; *adj, int s, int t)</td></tr>
<tr class="memdesc:adc68cbc8ba09eb1142265935c0d45b84"><td class="mdescLeft">&#160;</td><td class="mdescRight">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. <br /></td></tr>
<tr class="separator:adc68cbc8ba09eb1142265935c0d45b84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e1b547cd407c0774e63f0dc95cda9e7" id="r_a8e1b547cd407c0774e63f0dc95cda9e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e1b547cd407c0774e63f0dc95cda9e7">checkBipartite</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt; &gt; &amp;graph, int64_t index, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt; *visited)</td></tr>
<tr class="memitem:a8e1b547cd407c0774e63f0dc95cda9e7" id="r_a8e1b547cd407c0774e63f0dc95cda9e7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8e1b547cd407c0774e63f0dc95cda9e7">checkBipartite</a> (const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;graph, int64_t index, std::vector&lt; int64_t &gt; *visited)</td></tr>
<tr class="memdesc:a8e1b547cd407c0774e63f0dc95cda9e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">function to check whether the passed graph is bipartite or not <br /></td></tr>
<tr class="separator:a8e1b547cd407c0774e63f0dc95cda9e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84b0551489c613a681cc83b34450da4b" id="r_a84b0551489c613a681cc83b34450da4b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a84b0551489c613a681cc83b34450da4b">isBipartite</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt; &gt; &amp;graph)</td></tr>
<tr class="memitem:a84b0551489c613a681cc83b34450da4b" id="r_a84b0551489c613a681cc83b34450da4b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a84b0551489c613a681cc83b34450da4b">isBipartite</a> (const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;graph)</td></tr>
<tr class="memdesc:a84b0551489c613a681cc83b34450da4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if the given graph is bipartite else returns false <br /></td></tr>
<tr class="separator:a84b0551489c613a681cc83b34450da4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7706341d006e20d1ae58274187a3346" id="r_ab7706341d006e20d1ae58274187a3346"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab7706341d006e20d1ae58274187a3346">TravellingSalesmanProblem</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint32_t &gt; &gt; *cities, int32_t src, uint32_t V)</td></tr>
<tr class="memitem:ab7706341d006e20d1ae58274187a3346" id="r_ab7706341d006e20d1ae58274187a3346"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab7706341d006e20d1ae58274187a3346">TravellingSalesmanProblem</a> (std::vector&lt; std::vector&lt; uint32_t &gt; &gt; *cities, int32_t src, uint32_t V)</td></tr>
<tr class="memdesc:ab7706341d006e20d1ae58274187a3346"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function calculates the minimum path distance that will cover all the cities starting from the source. <br /></td></tr>
<tr class="separator:ab7706341d006e20d1ae58274187a3346"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@@ -166,14 +183,14 @@ Functions</h2></td></tr>
<div class="textblock"><p><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms. </p>
<p>for assert</p>
<p>Check whether a given graph is bipartite or not.</p>
<p>for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></p>
<p>for std::vector</p>
<p><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> algorithms.</p>
<p>for IO operations for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set.html">std::set</a></p>
<p>for IO operations for std::set</p>
<p><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms</p>
<p>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.</p>
<p>References used: <a href="https://www.geeksforgeeks.org/bipartite-graph/" target="_blank">GeeksForGeeks</a> </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/tushar2407" target="_blank">tushar2407</a> for assert for IO operations for queue data structure for vector data structure</dd></dl>
<p>Graphical algorithms</p>
<p>for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a> for IO operations for limits of integral types for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></p>
<p>for std::min for IO operations for limits of integral types for std::vector</p>
<p><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a9125ceb66bfbec3093bba64c2c1e99e2" name="a9125ceb66bfbec3093bba64c2c1e99e2"></a>
@@ -185,7 +202,7 @@ Functions</h2></td></tr>
<tr>
<td class="memname">void graph::addEdge </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
<td class="paramtype">std::vector&lt; std::vector&lt; int &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -209,6 +226,8 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../df/ddd/connected__components_8cpp_source.html#l00046">46</a> of file <a class="el" href="../../df/ddd/connected__components_8cpp_source.html">connected_components.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 46</span> {</div>
<div class="line"><span class="lineno"> 47</span> (*adj)[u - 1].push_back(v - 1);</div>
<div class="line"><span class="lineno"> 48</span> (*adj)[v - 1].push_back(u - 1);</div>
@@ -225,7 +244,7 @@ Functions</h2></td></tr>
<tr>
<td class="memname">void graph::addEdge </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; size_t &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
<td class="paramtype">std::vector&lt; std::vector&lt; size_t &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -249,6 +268,8 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../da/d8d/depth__first__search_8cpp_source.html#l00056">56</a> of file <a class="el" href="../../da/d8d/depth__first__search_8cpp_source.html">depth_first_search.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 56</span> {</div>
<div class="line"><span class="lineno"> 57</span> <span class="comment">/*</span></div>
<div class="line"><span class="lineno"> 58</span><span class="comment"> *</span></div>
@@ -272,7 +293,7 @@ Functions</h2></td></tr>
<tr>
<td class="memname">void graph::addEdge </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, int &gt; &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
<td class="paramtype">std::vector&lt; std::vector&lt; std::pair&lt; int, int &gt; &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -300,17 +321,13 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../d8/d68/dijkstra_8cpp_source.html#l00048">48</a> of file <a class="el" href="../../d8/d68/dijkstra_8cpp_source.html">dijkstra.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 49</span> {</div>
<div class="line"><span class="lineno"> 50</span> (*adj)[u - 1].push_back(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a>(v - 1, w));</div>
<div class="line"><span class="lineno"> 50</span> (*adj)[u - 1].push_back(std::make_pair(v - 1, w));</div>
<div class="line"><span class="lineno"> 51</span> <span class="comment">// (*adj)[v - 1].push_back(std::make_pair(u - 1, w));</span></div>
<div class="line"><span class="lineno"> 52</span>}</div>
<div class="ttc" id="amake_pair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a></div><div class="ttdeci">T make_pair(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_a0e30e0dca68cb6e4f671440819b35b6a_cgraph.svg" width="279" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><!-- fragment -->
</div>
</div>
<a id="a8e1b547cd407c0774e63f0dc95cda9e7" name="a8e1b547cd407c0774e63f0dc95cda9e7"></a>
@@ -322,7 +339,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">bool graph::checkBipartite </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>graph</em></span>, </td>
<td class="paramtype">const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>graph</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -332,7 +349,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt; *</td> <td class="paramname"><span class="paramname"><em>visited</em></span>&#160;)</td>
<td class="paramtype">std::vector&lt; int64_t &gt; *</td> <td class="paramname"><span class="paramname"><em>visited</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
@@ -356,40 +373,35 @@ Here is the call graph for this function:</div>
<p>insert the neighbouring node into the queue</p>
<p>if both the current node and its neighbour has the same state then it is not a bipartite graph</p>
<p>return true when all the connected nodes of the current nodes are travelled and satisify all the above conditions</p>
<p class="definition">Definition at line <a class="el" href="../../dd/dc3/is__graph__bipartite2_8cpp_source.html#l00037">37</a> of file <a class="el" href="../../dd/dc3/is__graph__bipartite2_8cpp_source.html">is_graph_bipartite2.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 38</span> {</div>
<div class="line"><span class="lineno"> 39</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int64_t&gt;</a> q; <span class="comment">///&lt; stores the neighbouring node indexes in squence</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 40</span><span class="comment"> /// of being reached</span></div>
<div class="line"><span class="lineno"> 41</span><span class="comment"></span> q.push(index); <span class="comment">/// insert the current node into the queue</span></div>
<div class="line"><span class="lineno"> 42</span> (*visited)[index] = 1; <span class="comment">/// mark the current node as travelled</span></div>
<div class="line"><span class="lineno"> 39</span> std::queue&lt;int64_t&gt; q; </div>
<div class="line"><span class="lineno"> 41</span> q.push(index); </div>
<div class="line"><span class="lineno"> 42</span> (*visited)[index] = 1; </div>
<div class="line"><span class="lineno"> 43</span> <span class="keywordflow">while</span> (q.size()) {</div>
<div class="line"><span class="lineno"> 44</span> int64_t u = q.front();</div>
<div class="line"><span class="lineno"> 45</span> q.pop();</div>
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">for</span> (uint64_t i = 0; i &lt; <a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>[u].size(); i++) {</div>
<div class="line"><span class="lineno"> 47</span> int64_t v =</div>
<div class="line"><span class="lineno"> 48</span> <a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>[u][i]; <span class="comment">///&lt; stores the neighbour of the current node</span></div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">if</span> (!(*visited)[v]) <span class="comment">/// check whether the neighbour node is</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 50</span><span class="comment"> /// travelled already or not</span></div>
<div class="line"><span class="lineno"> 51</span><span class="comment"></span> {</div>
<div class="line"><span class="lineno"> 48</span> <a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>[u][i]; </div>
<div class="line"><span class="lineno"> 49</span> <span class="keywordflow">if</span> (!(*visited)[v]) </div>
<div class="line"><span class="lineno"> 51</span> {</div>
<div class="line"><span class="lineno"> 52</span> (*visited)[v] =</div>
<div class="line"><span class="lineno"> 53</span> ((*visited)[u] == 1)</div>
<div class="line"><span class="lineno"> 54</span> ? -1</div>
<div class="line"><span class="lineno"> 55</span> : 1; <span class="comment">/// colour the neighbouring node with</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 56</span><span class="comment"> /// different colour than the current node</span></div>
<div class="line"><span class="lineno"> 57</span><span class="comment"></span> q.push(v); <span class="comment">/// insert the neighbouring node into the queue</span></div>
<div class="line"><span class="lineno"> 55</span> : 1; </div>
<div class="line"><span class="lineno"> 57</span> q.push(v); </div>
<div class="line"><span class="lineno"> 58</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((*visited)[v] ==</div>
<div class="line"><span class="lineno"> 59</span> (*visited)[u]) <span class="comment">/// if both the current node and its</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 60</span><span class="comment"> /// neighbour has the same state then it</span></div>
<div class="line"><span class="lineno"> 61</span><span class="comment"> /// is not a bipartite graph</span></div>
<div class="line"><span class="lineno"> 62</span><span class="comment"></span> {</div>
<div class="line"><span class="lineno"> 59</span> (*visited)[u]) </div>
<div class="line"><span class="lineno"> 62</span> {</div>
<div class="line"><span class="lineno"> 63</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 64</span> }</div>
<div class="line"><span class="lineno"> 65</span> }</div>
<div class="line"><span class="lineno"> 66</span> }</div>
<div class="line"><span class="lineno"> 67</span> <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">/// return true when all the connected nodes of the current</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 68</span><span class="comment"> /// nodes are travelled and satisify all the above conditions</span></div>
<div class="line"><span class="lineno"> 69</span><span class="comment"></span>}</div>
<div class="line"><span class="lineno"> 67</span> <span class="keywordflow">return</span> <span class="keyword">true</span>; </div>
<div class="line"><span class="lineno"> 69</span>}</div>
<div class="ttc" id="anamespacegraph_html"><div class="ttname"><a href="../../df/dce/namespacegraph.html">graph</a></div><div class="ttdoc">Graph Algorithms.</div></div>
<div class="ttc" id="aqueue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -402,7 +414,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">void graph::depth_first_search </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; size_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
<td class="paramtype">const std::vector&lt; std::vector&lt; size_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -420,21 +432,16 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../da/d8d/depth__first__search_8cpp_source.html#l00099">99</a> of file <a class="el" href="../../da/d8d/depth__first__search_8cpp_source.html">depth_first_search.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 100</span> {</div>
<div class="line"><span class="lineno"> 101</span> <span class="keywordtype">size_t</span> vertices = adj.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><span class="lineno"> 101</span> <span class="keywordtype">size_t</span> vertices = adj.size();</div>
<div class="line"><span class="lineno"> 102</span> </div>
<div class="line"><span class="lineno"> 103</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> visited(vertices, <span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 103</span> std::vector&lt;bool&gt; visited(vertices, <span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 104</span> <a class="code hl_function" href="#a3ae80bc4c6a79d041b4f3a6589eb7fb8">explore</a>(adj, start, &amp;visited);</div>
<div class="line"><span class="lineno"> 105</span>}</div>
<div class="ttc" id="anamespacegraph_html_a3ae80bc4c6a79d041b4f3a6589eb7fb8"><div class="ttname"><a href="#a3ae80bc4c6a79d041b4f3a6589eb7fb8">graph::explore</a></div><div class="ttdeci">void explore(const std::vector&lt; std::vector&lt; int &gt; &gt; *adj, int u, std::vector&lt; bool &gt; *visited)</div><div class="ttdoc">Utility function for depth first seach algorithm this function explores the vertex which is passed in...</div><div class="ttdef"><b>Definition</b> connected_components.cpp:59</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_ab5428a3519267a28bba4b4310cfbb6ae_cgraph.svg" width="296" height="110"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="ttc" id="anamespacegraph_html_a3ae80bc4c6a79d041b4f3a6589eb7fb8"><div class="ttname"><a href="#a3ae80bc4c6a79d041b4f3a6589eb7fb8">graph::explore</a></div><div class="ttdeci">void explore(const std::vector&lt; std::vector&lt; int &gt; &gt; *adj, int u, std::vector&lt; bool &gt; *visited)</div><div class="ttdoc">Utility function for depth first seach algorithm this function explores the vertex which is passed in...</div><div class="ttdef"><b>Definition</b> <a href="../../df/ddd/connected__components_8cpp_source.html#l00059">connected_components.cpp:59</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="adc68cbc8ba09eb1142265935c0d45b84" name="adc68cbc8ba09eb1142265935c0d45b84"></a>
@@ -446,7 +453,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">int graph::dijkstra </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, int &gt; &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
<td class="paramtype">std::vector&lt; std::vector&lt; std::pair&lt; int, int &gt; &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -480,42 +487,32 @@ Here is the call graph for this function:</div>
<p>first element of pair denotes the distance</p>
<p>for all the reachable vertex from the currently exploring vertex we will try to minimize the distance</p>
<p>minimizing distances</p>
<div class="fragment"><div class="line"><span class="lineno"> 66</span> {<span class="comment"></span></div>
<div class="line"><span class="lineno"> 67</span><span class="comment"> /// n denotes the number of vertices in graph</span></div>
<div class="line"><span class="lineno"> 68</span><span class="comment"></span> <span class="keywordtype">int</span> n = adj-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><span class="lineno"> 69</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 70</span><span class="comment"> /// setting all the distances initially to INF</span></div>
<div class="line"><span class="lineno"> 71</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int64_t&gt;</a> dist(n, INF);</div>
<div class="line"><span class="lineno"> 72</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 73</span><span class="comment"> /// creating a min heap using priority queue</span></div>
<div class="line"><span class="lineno"> 74</span><span class="comment"> /// first element of pair contains the distance</span></div>
<div class="line"><span class="lineno"> 75</span><span class="comment"> /// second element of pair contains the vertex</span></div>
<div class="line"><span class="lineno"> 76</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue&lt;std::pair&lt;int, int&gt;</a>, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::pair&lt;int, int&gt;</a>&gt;,</div>
<div class="line"><span class="lineno"> 77</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/functional/greater.html">std::greater&lt;std::pair&lt;int, int&gt;</a>&gt;&gt;</div>
<p class="definition">Definition at line <a class="el" href="../../d8/d68/dijkstra_8cpp_source.html#l00066">66</a> of file <a class="el" href="../../d8/d68/dijkstra_8cpp_source.html">dijkstra.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 66</span> {</div>
<div class="line"><span class="lineno"> 68</span> <span class="keywordtype">int</span> n = adj-&gt;size();</div>
<div class="line"><span class="lineno"> 69</span> </div>
<div class="line"><span class="lineno"> 71</span> std::vector&lt;int64_t&gt; dist(n, INF);</div>
<div class="line"><span class="lineno"> 72</span> </div>
<div class="line"><span class="lineno"> 76</span> std::priority_queue&lt;std::pair&lt;int, int&gt;, std::vector&lt;std::pair&lt;int, int&gt;&gt;,</div>
<div class="line"><span class="lineno"> 77</span> std::greater&lt;std::pair&lt;int, int&gt;&gt;&gt;</div>
<div class="line"><span class="lineno"> 78</span> pq;</div>
<div class="line"><span class="lineno"> 79</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 80</span><span class="comment"> /// pushing the source vertex &#39;s&#39; with 0 distance in min heap</span></div>
<div class="line"><span class="lineno"> 81</span><span class="comment"></span> pq.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html">push</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a>(0, s));</div>
<div class="line"><span class="lineno"> 82</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 83</span><span class="comment"> /// marking the distance of source as 0</span></div>
<div class="line"><span class="lineno"> 84</span><span class="comment"></span> dist[s] = 0;</div>
<div class="line"><span class="lineno"> 79</span> </div>
<div class="line"><span class="lineno"> 81</span> pq.push(std::make_pair(0, s));</div>
<div class="line"><span class="lineno"> 82</span> </div>
<div class="line"><span class="lineno"> 84</span> dist[s] = 0;</div>
<div class="line"><span class="lineno"> 85</span> </div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">while</span> (!pq.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/empty.html">empty</a>()) {<span class="comment"></span></div>
<div class="line"><span class="lineno"> 87</span><span class="comment"> /// second element of pair denotes the node / vertex</span></div>
<div class="line"><span class="lineno"> 88</span><span class="comment"></span> <span class="keywordtype">int</span> currentNode = pq.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html">top</a>().second;</div>
<div class="line"><span class="lineno"> 89</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 90</span><span class="comment"> /// first element of pair denotes the distance</span></div>
<div class="line"><span class="lineno"> 91</span><span class="comment"></span> <span class="keywordtype">int</span> currentDist = pq.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html">top</a>().first;</div>
<div class="line"><span class="lineno"> 86</span> <span class="keywordflow">while</span> (!pq.empty()) {</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordtype">int</span> currentNode = pq.top().second;</div>
<div class="line"><span class="lineno"> 89</span> </div>
<div class="line"><span class="lineno"> 91</span> <span class="keywordtype">int</span> currentDist = pq.top().first;</div>
<div class="line"><span class="lineno"> 92</span> </div>
<div class="line"><span class="lineno"> 93</span> pq.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html">pop</a>();</div>
<div class="line"><span class="lineno"> 94</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 95</span><span class="comment"> /// for all the reachable vertex from the currently exploring vertex</span></div>
<div class="line"><span class="lineno"> 96</span><span class="comment"> /// we will try to minimize the distance</span></div>
<div class="line"><span class="lineno"> 97</span><span class="comment"></span> <span class="keywordflow">for</span> (<a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair&lt;int, int&gt;</a> edge : (*adj)[currentNode]) {<span class="comment"></span></div>
<div class="line"><span class="lineno"> 98</span><span class="comment"> /// minimizing distances</span></div>
<div class="line"><span class="lineno"> 99</span><span class="comment"></span> <span class="keywordflow">if</span> (currentDist + edge.second &lt; dist[edge.first]) {</div>
<div class="line"><span class="lineno"> 93</span> pq.pop();</div>
<div class="line"><span class="lineno"> 94</span> </div>
<div class="line"><span class="lineno"> 97</span> <span class="keywordflow">for</span> (std::pair&lt;int, int&gt; edge : (*adj)[currentNode]) {</div>
<div class="line"><span class="lineno"> 99</span> <span class="keywordflow">if</span> (currentDist + edge.second &lt; dist[edge.first]) {</div>
<div class="line"><span class="lineno"> 100</span> dist[edge.first] = currentDist + edge.second;</div>
<div class="line"><span class="lineno"> 101</span> pq.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html">push</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a>(dist[edge.first], edge.first));</div>
<div class="line"><span class="lineno"> 101</span> pq.push(std::make_pair(dist[edge.first], edge.first));</div>
<div class="line"><span class="lineno"> 102</span> }</div>
<div class="line"><span class="lineno"> 103</span> }</div>
<div class="line"><span class="lineno"> 104</span> }</div>
@@ -524,19 +521,7 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 107</span> }</div>
<div class="line"><span class="lineno"> 108</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><span class="lineno"> 109</span>}</div>
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue/empty.html">std::priority_queue::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
<div class="ttc" id="agreater_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/functional/greater.html">std::greater</a></div></div>
<div class="ttc" id="apair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></div></div>
<div class="ttc" id="apop_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html">std::priority_queue::pop</a></div><div class="ttdeci">T pop(T... args)</div></div>
<div class="ttc" id="apriority_queue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue</a></div></div>
<div class="ttc" id="apush_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html">std::priority_queue::push</a></div><div class="ttdeci">T push(T... args)</div></div>
<div class="ttc" id="atop_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html">std::priority_queue::top</a></div><div class="ttdeci">T top(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_adc68cbc8ba09eb1142265935c0d45b84_cgraph.svg" width="320" height="315"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><!-- fragment -->
</div>
</div>
<a id="a3ae80bc4c6a79d041b4f3a6589eb7fb8" name="a3ae80bc4c6a79d041b4f3a6589eb7fb8"></a>
@@ -548,7 +533,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">void graph::explore </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
<td class="paramtype">const std::vector&lt; std::vector&lt; int &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -558,7 +543,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; bool &gt; *</td> <td class="paramname"><span class="paramname"><em>visited</em></span>&#160;)</td>
<td class="paramtype">std::vector&lt; bool &gt; *</td> <td class="paramname"><span class="paramname"><em>visited</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
@@ -572,6 +557,8 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../df/ddd/connected__components_8cpp_source.html#l00059">59</a> of file <a class="el" href="../../df/ddd/connected__components_8cpp_source.html">connected_components.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 60</span> {</div>
<div class="line"><span class="lineno"> 61</span> (*visited)[u] = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 62</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> v : (*adj)[u]) {</div>
@@ -580,12 +567,7 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 65</span> }</div>
<div class="line"><span class="lineno"> 66</span> }</div>
<div class="line"><span class="lineno"> 67</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_a3ae80bc4c6a79d041b4f3a6589eb7fb8_cgraph.svg" width="115" height="60"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><!-- fragment -->
</div>
</div>
<a id="a64c1db5aad7502c6f08e4652f6edd463" name="a64c1db5aad7502c6f08e4652f6edd463"></a>
@@ -597,7 +579,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">void graph::explore </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; size_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
<td class="paramtype">const std::vector&lt; std::vector&lt; size_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>adj</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -607,7 +589,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; bool &gt; *</td> <td class="paramname"><span class="paramname"><em>visited</em></span>&#160;)</td>
<td class="paramtype">std::vector&lt; bool &gt; *</td> <td class="paramname"><span class="paramname"><em>visited</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
@@ -621,8 +603,10 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../da/d8d/depth__first__search_8cpp_source.html#l00080">80</a> of file <a class="el" href="../../da/d8d/depth__first__search_8cpp_source.html">depth_first_search.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 81</span> {</div>
<div class="line"><span class="lineno"> 82</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; v + 1 &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><span class="lineno"> 82</span> std::cout &lt;&lt; v + 1 &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><span class="lineno"> 83</span> (*visited)[v] = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 84</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> x : adj[v]) {</div>
<div class="line"><span class="lineno"> 85</span> <span class="keywordflow">if</span> (!(*visited)[x]) {</div>
@@ -630,13 +614,7 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 87</span> }</div>
<div class="line"><span class="lineno"> 88</span> }</div>
<div class="line"><span class="lineno"> 89</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_a64c1db5aad7502c6f08e4652f6edd463_cgraph.svg" width="266" height="60"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><!-- fragment -->
</div>
</div>
<a id="a83ab16e96cec644109a58dfc9329bc2b" name="a83ab16e96cec644109a58dfc9329bc2b"></a>
@@ -648,7 +626,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">int graph::getConnectedComponents </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span></td><td>)</td>
<td class="paramtype">const std::vector&lt; std::vector&lt; int &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>adj</em></span></td><td>)</td>
<td></td>
</tr>
</table>
@@ -662,10 +640,12 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>connected_components number of connected components in graph. </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../df/ddd/connected__components_8cpp_source.html#l00077">77</a> of file <a class="el" href="../../df/ddd/connected__components_8cpp_source.html">connected_components.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 77</span> {</div>
<div class="line"><span class="lineno"> 78</span> <span class="keywordtype">int</span> n = adj-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><span class="lineno"> 78</span> <span class="keywordtype">int</span> n = adj-&gt;size();</div>
<div class="line"><span class="lineno"> 79</span> <span class="keywordtype">int</span> connected_components = 0;</div>
<div class="line"><span class="lineno"> 80</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;bool&gt;</a> visited(n, <span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 80</span> std::vector&lt;bool&gt; visited(n, <span class="keyword">false</span>);</div>
<div class="line"><span class="lineno"> 81</span> </div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; n; i++) {</div>
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">if</span> (!visited[i]) {</div>
@@ -675,12 +655,7 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 87</span> }</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">return</span> connected_components;</div>
<div class="line"><span class="lineno"> 89</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_a83ab16e96cec644109a58dfc9329bc2b_cgraph.svg" width="391" height="110"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><!-- fragment -->
</div>
</div>
<a id="a84b0551489c613a681cc83b34450da4b" name="a84b0551489c613a681cc83b34450da4b"></a>
@@ -692,7 +667,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">bool graph::isBipartite </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int64_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>graph</em></span></td><td>)</td>
<td class="paramtype">const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>graph</em></span></td><td>)</td>
<td></td>
</tr>
</table>
@@ -708,17 +683,15 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd>booleans </dd></dl>
<p>&lt; stores boolean values which signify whether that node had been visited or not</p>
<p>if the current node is not visited then check whether the sub-graph of that node is a bipartite or not</p>
<p class="definition">Definition at line <a class="el" href="../../dd/dc3/is__graph__bipartite2_8cpp_source.html#l00076">76</a> of file <a class="el" href="../../dd/dc3/is__graph__bipartite2_8cpp_source.html">is_graph_bipartite2.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 76</span> {</div>
<div class="line"><span class="lineno"> 77</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int64_t&gt;</a> visited(</div>
<div class="line"><span class="lineno"> 78</span> <a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>.size()); <span class="comment">///&lt; stores boolean values</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 79</span><span class="comment"> /// which signify whether that node had been visited or</span></div>
<div class="line"><span class="lineno"> 80</span><span class="comment"> /// not</span></div>
<div class="line"><span class="lineno"> 81</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 77</span> std::vector&lt;int64_t&gt; visited(</div>
<div class="line"><span class="lineno"> 78</span> <a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>.size()); </div>
<div class="line"><span class="lineno"> 81</span> </div>
<div class="line"><span class="lineno"> 82</span> <span class="keywordflow">for</span> (uint64_t i = 0; i &lt; <a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>.size(); i++) {</div>
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">if</span> (!visited[i]) <span class="comment">/// if the current node is not visited then check</span><span class="comment"></span></div>
<div class="line"><span class="lineno"> 84</span><span class="comment"> /// whether the sub-graph of that node is a bipartite</span></div>
<div class="line"><span class="lineno"> 85</span><span class="comment"> /// or not</span></div>
<div class="line"><span class="lineno"> 86</span><span class="comment"></span> {</div>
<div class="line"><span class="lineno"> 83</span> <span class="keywordflow">if</span> (!visited[i]) </div>
<div class="line"><span class="lineno"> 86</span> {</div>
<div class="line"><span class="lineno"> 87</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="#a8e1b547cd407c0774e63f0dc95cda9e7">checkBipartite</a>(<a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>, i, &amp;visited)) {</div>
<div class="line"><span class="lineno"> 88</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 89</span> }</div>
@@ -726,13 +699,8 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 91</span> }</div>
<div class="line"><span class="lineno"> 92</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 93</span>}</div>
<div class="ttc" id="anamespacegraph_html_a8e1b547cd407c0774e63f0dc95cda9e7"><div class="ttname"><a href="#a8e1b547cd407c0774e63f0dc95cda9e7">graph::checkBipartite</a></div><div class="ttdeci">bool checkBipartite(const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;graph, int64_t index, std::vector&lt; int64_t &gt; *visited)</div><div class="ttdoc">function to check whether the passed graph is bipartite or not</div><div class="ttdef"><b>Definition</b> is_graph_bipartite2.cpp:37</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_a84b0551489c613a681cc83b34450da4b_cgraph.svg" width="323" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="ttc" id="anamespacegraph_html_a8e1b547cd407c0774e63f0dc95cda9e7"><div class="ttname"><a href="#a8e1b547cd407c0774e63f0dc95cda9e7">graph::checkBipartite</a></div><div class="ttdeci">bool checkBipartite(const std::vector&lt; std::vector&lt; int64_t &gt; &gt; &amp;graph, int64_t index, std::vector&lt; int64_t &gt; *visited)</div><div class="ttdoc">function to check whether the passed graph is bipartite or not</div><div class="ttdef"><b>Definition</b> <a href="../../dd/dc3/is__graph__bipartite2_8cpp_source.html#l00037">is_graph_bipartite2.cpp:37</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab7706341d006e20d1ae58274187a3346" name="ab7706341d006e20d1ae58274187a3346"></a>
@@ -744,7 +712,7 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">int graph::TravellingSalesmanProblem </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; uint32_t &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>cities</em></span>, </td>
<td class="paramtype">std::vector&lt; std::vector&lt; uint32_t &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>cities</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@@ -768,48 +736,35 @@ Here is the call graph for this function:</div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><span class="lineno"> 42</span> {<span class="comment"></span></div>
<div class="line"><span class="lineno"> 43</span><span class="comment"> //// vtx stores the vertexs of the graph</span></div>
<div class="line"><span class="lineno"> 44</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> vtx;</div>
<p class="definition">Definition at line <a class="el" href="../../de/d88/travelling__salesman__problem_8cpp_source.html#l00041">41</a> of file <a class="el" href="../../de/d88/travelling__salesman__problem_8cpp_source.html">travelling_salesman_problem.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 42</span> {</div>
<div class="line"><span class="lineno"> 44</span> std::vector&lt;uint32_t&gt; vtx;</div>
<div class="line"><span class="lineno"> 45</span> <span class="keywordflow">for</span> (uint32_t i = 0; i &lt; V; i++) {</div>
<div class="line"><span class="lineno"> 46</span> <span class="keywordflow">if</span> (i != src) {</div>
<div class="line"><span class="lineno"> 47</span> vtx.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(i);</div>
<div class="line"><span class="lineno"> 47</span> vtx.push_back(i);</div>
<div class="line"><span class="lineno"> 48</span> }</div>
<div class="line"><span class="lineno"> 49</span> }</div>
<div class="line"><span class="lineno"> 50</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 51</span><span class="comment"> //// store minimum weight Hamiltonian Cycle.</span></div>
<div class="line"><span class="lineno"> 52</span><span class="comment"></span> int32_t min_path = 2147483647;</div>
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">do</span> {<span class="comment"></span></div>
<div class="line"><span class="lineno"> 54</span><span class="comment"> //// store current Path weight(cost)</span></div>
<div class="line"><span class="lineno"> 55</span><span class="comment"></span> int32_t curr_weight = 0;</div>
<div class="line"><span class="lineno"> 56</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 57</span><span class="comment"> //// compute current path weight</span></div>
<div class="line"><span class="lineno"> 58</span><span class="comment"></span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> = src;</div>
<div class="line"><span class="lineno"> 50</span> </div>
<div class="line"><span class="lineno"> 52</span> int32_t min_path = 2147483647;</div>
<div class="line"><span class="lineno"> 53</span> <span class="keywordflow">do</span> {</div>
<div class="line"><span class="lineno"> 55</span> int32_t curr_weight = 0;</div>
<div class="line"><span class="lineno"> 56</span> </div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> = src;</div>
<div class="line"><span class="lineno"> 59</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i : vtx) {</div>
<div class="line"><span class="lineno"> 60</span> curr_weight += (*cities)[<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>][i];</div>
<div class="line"><span class="lineno"> 61</span> <a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a> = i;</div>
<div class="line"><span class="lineno"> 62</span> }</div>
<div class="line"><span class="lineno"> 63</span> curr_weight += (*cities)[<a class="code hl_function" href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">k</a>][src];</div>
<div class="line"><span class="lineno"> 64</span><span class="comment"></span> </div>
<div class="line"><span class="lineno"> 65</span><span class="comment"> //// update minimum</span></div>
<div class="line"><span class="lineno"> 66</span><span class="comment"></span> min_path = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a>(min_path, curr_weight);</div>
<div class="line"><span class="lineno"> 64</span> </div>
<div class="line"><span class="lineno"> 66</span> min_path = std::min(min_path, curr_weight);</div>
<div class="line"><span class="lineno"> 67</span> </div>
<div class="line"><span class="lineno"> 68</span> } <span class="keywordflow">while</span> (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/next_permutation.html">next_permutation</a>(vtx.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), vtx.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()));</div>
<div class="line"><span class="lineno"> 68</span> } <span class="keywordflow">while</span> (next_permutation(vtx.begin(), vtx.end()));</div>
<div class="line"><span class="lineno"> 69</span> </div>
<div class="line"><span class="lineno"> 70</span> <span class="keywordflow">return</span> min_path;</div>
<div class="line"><span class="lineno"> 71</span>}</div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="acomposite__simpson__rule_8cpp_html_a1b74d828b33760094906797042b89442"><div class="ttname"><a href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">numerical_methods::simpson_method::k</a></div><div class="ttdeci">double k(double x)</div><div class="ttdoc">Another test function.</div><div class="ttdef"><b>Definition</b> composite_simpson_rule.cpp:117</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="amin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a></div><div class="ttdeci">T min(T... args)</div></div>
<div class="ttc" id="anext_permutation_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/next_permutation.html">std::next_permutation</a></div><div class="ttdeci">T next_permutation(T... args)</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/dce/namespacegraph_ab7706341d006e20d1ae58274187a3346_cgraph.svg" width="388" height="184"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="ttc" id="acomposite__simpson__rule_8cpp_html_a1b74d828b33760094906797042b89442"><div class="ttname"><a href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">numerical_methods::simpson_method::k</a></div><div class="ttdeci">double k(double x)</div><div class="ttdoc">Another test function.</div><div class="ttdef"><b>Definition</b> <a href="../../d4/d18/composite__simpson__rule_8cpp_source.html#l00117">composite_simpson_rule.cpp:117</a></div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->

View File

@@ -1,5 +0,0 @@
<map id="graph::addEdge" name="graph::addEdge">
<area shape="rect" id="Node000001" title="Function that add edge between two nodes or vertices of graph." alt="" coords="5,5,118,31"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair.html#" title=" " alt="" coords="166,5,273,31"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="118,16,150,16,150,21,118,21"/>
</map>

View File

@@ -1 +0,0 @@
b00dad386c3ad344f61096db0dce38d4

View File

@@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::addEdge Pages: 1 -->
<svg width="209pt" height="27pt"
viewBox="0.00 0.00 208.75 27.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 23.25)">
<title>graph::addEdge</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function that add edge between two nodes or vertices of graph.">
<polygon fill="#999999" stroke="#666666" points="84.25,-19.25 0,-19.25 0,0 84.25,0 84.25,-19.25"/>
<text text-anchor="middle" x="42.12" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::addEdge</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="200.75,-19.25 120.25,-19.25 120.25,0 200.75,0 200.75,-19.25"/>
<text text-anchor="middle" x="160.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M84.48,-9.62C92.21,-9.62 100.37,-9.62 108.35,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="108.32,-13.13 118.32,-9.63 108.32,-6.13 108.32,-13.13"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::addEdge Pages: 1 -->
<svg width="209pt" height="27pt"
viewBox="0.00 0.00 208.75 27.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 23.25)">
<title>graph::addEdge</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function that add edge between two nodes or vertices of graph.">
<polygon fill="#999999" stroke="#666666" points="84.25,-19.25 0,-19.25 0,0 84.25,0 84.25,-19.25"/>
<text text-anchor="middle" x="42.12" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::addEdge</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="200.75,-19.25 120.25,-19.25 120.25,0 200.75,0 200.75,-19.25"/>
<text text-anchor="middle" x="160.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M84.48,-9.62C92.21,-9.62 100.37,-9.62 108.35,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="108.32,-13.13 118.32,-9.63 108.32,-6.13 108.32,-13.13"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,4 +0,0 @@
<map id="graph::explore" name="graph::explore">
<area shape="rect" id="Node000001" title="Utility function for depth first seach algorithm this function explores the vertex which is passed in..." alt="" coords="5,29,109,55"/>
<area shape="poly" id="edge1_Node000001_Node000001" title=" " alt="" coords="38,30,35,21,37,11,45,5,57,3,70,5,77,12,73,16,68,10,57,8,47,10,42,14,40,20,43,28"/>
</map>

View File

@@ -1 +0,0 @@
675573ab4b9e78c486c65bb5c30a6eff

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::explore Pages: 1 -->
<svg width="86pt" height="45pt"
viewBox="0.00 0.00 85.50 45.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 41.25)">
<title>graph::explore</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="#999999" stroke="#666666" points="77.5,-19.25 0,-19.25 0,0 77.5,0 77.5,-19.25"/>
<text text-anchor="middle" x="38.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge1_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M26.62,-19.54C21.08,-28.15 25.13,-37.25 38.75,-37.25 46.2,-37.25 50.79,-34.53 52.51,-30.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="56.01,-30.42 51.1,-21.04 49.08,-31.44 56.01,-30.42"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::explore Pages: 1 -->
<svg width="86pt" height="45pt"
viewBox="0.00 0.00 85.50 45.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 41.25)">
<title>graph::explore</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="#999999" stroke="#666666" points="77.5,-19.25 0,-19.25 0,0 77.5,0 77.5,-19.25"/>
<text text-anchor="middle" x="38.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge1_Node000001_Node000001" class="edge">
<title>Node1&#45;&gt;Node1</title>
<g id="a_edge1_Node000001_Node000001"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M26.62,-19.54C21.08,-28.15 25.13,-37.25 38.75,-37.25 46.2,-37.25 50.79,-34.53 52.51,-30.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="56.01,-30.42 51.1,-21.04 49.08,-31.44 56.01,-30.42"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,6 +0,0 @@
<map id="graph::explore" name="graph::explore">
<area shape="rect" id="Node000001" title="Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec..." alt="" coords="5,29,109,55"/>
<area shape="rect" id="Node000002" href="$df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" title="Utility function for depth first seach algorithm this function explores the vertex which is passed in..." alt="" coords="157,29,260,55"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="109,40,141,40,141,45,109,45"/>
<area shape="poly" id="edge2_Node000002_Node000002" title=" " alt="" coords="182,30,177,21,180,11,191,5,208,3,227,5,237,12,234,16,225,10,208,8,193,10,185,15,183,20,187,28"/>
</map>

View File

@@ -1 +0,0 @@
1ad0a04b415348c77d8158144d548b3a

View File

@@ -1,74 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::explore Pages: 1 -->
<svg width="199pt" height="45pt"
viewBox="0.00 0.00 199.00 45.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 41.25)">
<title>graph::explore</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...">
<polygon fill="#999999" stroke="#666666" points="77.5,-19.25 0,-19.25 0,0 77.5,0 77.5,-19.25"/>
<text text-anchor="middle" x="38.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="white" stroke="#666666" points="191,-19.25 113.5,-19.25 113.5,0 191,0 191,-19.25"/>
<text text-anchor="middle" x="152.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M77.81,-9.62C85.61,-9.62 93.93,-9.62 102.07,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="101.85,-13.13 111.85,-9.63 101.85,-6.13 101.85,-13.13"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.48,-19.54C126.38,-28.15 132.3,-37.25 152.25,-37.25 163.16,-37.25 169.88,-34.53 172.4,-30.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="175.85,-30.06 170.34,-21.02 169,-31.53 175.85,-30.06"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,48 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::explore Pages: 1 -->
<svg width="199pt" height="45pt"
viewBox="0.00 0.00 199.00 45.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 41.25)">
<title>graph::explore</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...">
<polygon fill="#999999" stroke="#666666" points="77.5,-19.25 0,-19.25 0,0 77.5,0 77.5,-19.25"/>
<text text-anchor="middle" x="38.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="white" stroke="#666666" points="191,-19.25 113.5,-19.25 113.5,0 191,0 191,-19.25"/>
<text text-anchor="middle" x="152.25" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M77.81,-9.62C85.61,-9.62 93.93,-9.62 102.07,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="101.85,-13.13 111.85,-9.63 101.85,-6.13 101.85,-13.13"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M134.48,-19.54C126.38,-28.15 132.3,-37.25 152.25,-37.25 163.16,-37.25 169.88,-34.53 172.4,-30.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="175.85,-30.06 170.34,-21.02 169,-31.53 175.85,-30.06"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,8 +0,0 @@
<map id="graph::getConnectedComponents" name="graph::getConnectedComponents">
<area shape="rect" id="Node000001" title="Function that perfoms depth first search algorithm on graph and calculated the number of connected co..." alt="" coords="5,55,222,80"/>
<area shape="rect" id="Node000002" href="$df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" title="Utility function for depth first seach algorithm this function explores the vertex which is passed in..." alt="" coords="276,29,379,55"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="222,52,260,47,261,53,223,57"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="270,79,385,104"/>
<area shape="poly" id="edge3_Node000001_Node000003" title=" " alt="" coords="223,77,255,81,254,86,222,82"/>
<area shape="poly" id="edge2_Node000002_Node000002" title=" " alt="" coords="292,31,285,21,289,11,303,5,327,3,354,5,367,12,364,17,352,10,327,8,305,10,293,15,290,20,296,27"/>
</map>

View File

@@ -1 +0,0 @@
e5519b4e4ad515e239ffd9c3919c33b2

View File

@@ -1,92 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::getConnectedComponents Pages: 1 -->
<svg width="293pt" height="82pt"
viewBox="0.00 0.00 292.75 82.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 78.25)">
<title>graph::getConnectedComponents</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function that perfoms depth first search algorithm on graph and calculated the number of connected co...">
<polygon fill="#999999" stroke="#666666" points="162.25,-37.25 0,-37.25 0,-18 162.25,-18 162.25,-37.25"/>
<text text-anchor="middle" x="81.12" y="-23.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::getConnectedComponents</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="white" stroke="#666666" points="280.25,-56.25 202.75,-56.25 202.75,-37 280.25,-37 280.25,-56.25"/>
<text text-anchor="middle" x="241.5" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M162.7,-37.29C172.48,-38.47 182.23,-39.63 191.36,-40.73"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="190.69,-44.17 201.04,-41.89 191.52,-37.22 190.69,-44.17"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="284.75,-19.25 198.25,-19.25 198.25,0 284.75,0 284.75,-19.25"/>
<text text-anchor="middle" x="241.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M162.7,-18.47C170.82,-17.54 178.92,-16.62 186.66,-15.74"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="187.04,-19.22 196.58,-14.62 186.25,-12.27 187.04,-19.22"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M216.39,-56.54C204.94,-65.15 213.31,-74.25 241.5,-74.25 257.36,-74.25 266.94,-71.37 270.26,-67.32"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="273.62,-66.32 267.09,-57.97 266.98,-68.57 273.62,-66.32"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -1,66 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::getConnectedComponents Pages: 1 -->
<svg width="293pt" height="82pt"
viewBox="0.00 0.00 292.75 82.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 78.25)">
<title>graph::getConnectedComponents</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function that perfoms depth first search algorithm on graph and calculated the number of connected co...">
<polygon fill="#999999" stroke="#666666" points="162.25,-37.25 0,-37.25 0,-18 162.25,-18 162.25,-37.25"/>
<text text-anchor="middle" x="81.12" y="-23.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::getConnectedComponents</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="white" stroke="#666666" points="280.25,-56.25 202.75,-56.25 202.75,-37 280.25,-37 280.25,-56.25"/>
<text text-anchor="middle" x="241.5" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M162.7,-37.29C172.48,-38.47 182.23,-39.63 191.36,-40.73"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="190.69,-44.17 201.04,-41.89 191.52,-37.22 190.69,-44.17"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="284.75,-19.25 198.25,-19.25 198.25,0 284.75,0 284.75,-19.25"/>
<text text-anchor="middle" x="241.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M162.7,-18.47C170.82,-17.54 178.92,-16.62 186.66,-15.74"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="187.04,-19.22 196.58,-14.62 186.25,-12.27 187.04,-19.22"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M216.39,-56.54C204.94,-65.15 213.31,-74.25 241.5,-74.25 257.36,-74.25 266.94,-71.37 270.26,-67.32"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="273.62,-66.32 267.09,-57.97 266.98,-68.57 273.62,-66.32"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,5 +0,0 @@
<map id="graph::isBipartite" name="graph::isBipartite">
<area shape="rect" id="Node000001" title="returns true if the given graph is bipartite else returns false" alt="" coords="5,5,125,31"/>
<area shape="rect" id="Node000002" href="$df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7" title="function to check whether the passed graph is bipartite or not" alt="" coords="173,5,317,31"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="125,16,157,16,157,21,125,21"/>
</map>

View File

@@ -1 +0,0 @@
950f9d0235ed52479cbfd22350523221

View File

@@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::isBipartite Pages: 1 -->
<svg width="242pt" height="27pt"
viewBox="0.00 0.00 241.75 27.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 23.25)">
<title>graph::isBipartite</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="returns true if the given graph is bipartite else returns false">
<polygon fill="#999999" stroke="#666666" points="89.5,-19.25 0,-19.25 0,0 89.5,0 89.5,-19.25"/>
<text text-anchor="middle" x="44.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::isBipartite</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7" target="_top" xlink:title="function to check whether the passed graph is bipartite or not">
<polygon fill="white" stroke="#666666" points="233.75,-19.25 125.5,-19.25 125.5,0 233.75,0 233.75,-19.25"/>
<text text-anchor="middle" x="179.62" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::checkBipartite</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M90,-9.62C97.69,-9.62 105.84,-9.62 113.95,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="113.83,-13.13 123.83,-9.63 113.83,-6.13 113.83,-13.13"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::isBipartite Pages: 1 -->
<svg width="242pt" height="27pt"
viewBox="0.00 0.00 241.75 27.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 23.25)">
<title>graph::isBipartite</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="returns true if the given graph is bipartite else returns false">
<polygon fill="#999999" stroke="#666666" points="89.5,-19.25 0,-19.25 0,0 89.5,0 89.5,-19.25"/>
<text text-anchor="middle" x="44.75" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::isBipartite</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a8e1b547cd407c0774e63f0dc95cda9e7" target="_top" xlink:title="function to check whether the passed graph is bipartite or not">
<polygon fill="white" stroke="#666666" points="233.75,-19.25 125.5,-19.25 125.5,0 233.75,0 233.75,-19.25"/>
<text text-anchor="middle" x="179.62" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::checkBipartite</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M90,-9.62C97.69,-9.62 105.84,-9.62 113.95,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="113.83,-13.13 123.83,-9.63 113.83,-6.13 113.83,-13.13"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -1,8 +0,0 @@
<map id="graph::depth_first_search" name="graph::depth_first_search">
<area shape="rect" id="Node000001" title="initiates depth first search algorithm." alt="" coords="5,47,128,88"/>
<area shape="rect" id="Node000002" href="$df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" title="Utility function for depth first seach algorithm this function explores the vertex which is passed in..." alt="" coords="182,29,285,55"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="128,56,166,50,167,55,128,61"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="176,79,291,104"/>
<area shape="poly" id="edge3_Node000001_Node000003" title=" " alt="" coords="128,74,161,78,160,84,128,79"/>
<area shape="poly" id="edge2_Node000002_Node000002" title=" " alt="" coords="205,30,199,21,203,11,214,5,233,3,254,5,264,12,262,16,252,10,233,8,216,10,207,15,205,20,210,28"/>
</map>

View File

@@ -1 +0,0 @@
77aa3edb5da1f45515c4d9e8c6f53406

View File

@@ -1,93 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::depth_first_search Pages: 1 -->
<svg width="222pt" height="82pt"
viewBox="0.00 0.00 222.25 82.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 78.25)">
<title>graph::depth_first_search</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="initiates depth first search algorithm.">
<polygon fill="#999999" stroke="#666666" points="91.75,-42.88 0,-42.88 0,-12.37 91.75,-12.37 91.75,-42.88"/>
<text text-anchor="start" x="8" y="-29.38" font-family="Helvetica,sans-Serif" font-size="10.00">graph::depth_first</text>
<text text-anchor="middle" x="45.88" y="-18.12" font-family="Helvetica,sans-Serif" font-size="10.00">_search</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="white" stroke="#666666" points="209.75,-56.25 132.25,-56.25 132.25,-37 209.75,-37 209.75,-56.25"/>
<text text-anchor="middle" x="171" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.02,-34.59C101.39,-36.04 111.31,-37.57 120.81,-39.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="120.23,-42.49 130.64,-40.55 121.29,-35.57 120.23,-42.49"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="214.25,-19.25 127.75,-19.25 127.75,0 214.25,0 214.25,-19.25"/>
<text text-anchor="middle" x="171" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.02,-21.02C99.86,-19.88 108.08,-18.68 116.12,-17.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="116.43,-20.99 125.82,-16.08 115.42,-14.07 116.43,-20.99"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M151.41,-56.54C142.48,-65.15 149.01,-74.25 171,-74.25 183.03,-74.25 190.43,-71.53 193.21,-67.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.64,-66.94 190.94,-58.01 189.82,-68.55 196.64,-66.94"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::depth_first_search Pages: 1 -->
<svg width="222pt" height="82pt"
viewBox="0.00 0.00 222.25 82.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 78.25)">
<title>graph::depth_first_search</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="initiates depth first search algorithm.">
<polygon fill="#999999" stroke="#666666" points="91.75,-42.88 0,-42.88 0,-12.37 91.75,-12.37 91.75,-42.88"/>
<text text-anchor="start" x="8" y="-29.38" font-family="Helvetica,sans-Serif" font-size="10.00">graph::depth_first</text>
<text text-anchor="middle" x="45.88" y="-18.12" font-family="Helvetica,sans-Serif" font-size="10.00">_search</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
<polygon fill="white" stroke="#666666" points="209.75,-56.25 132.25,-56.25 132.25,-37 209.75,-37 209.75,-56.25"/>
<text text-anchor="middle" x="171" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.02,-34.59C101.39,-36.04 111.31,-37.57 120.81,-39.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="120.23,-42.49 130.64,-40.55 121.29,-35.57 120.23,-42.49"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="214.25,-19.25 127.75,-19.25 127.75,0 214.25,0 214.25,-19.25"/>
<text text-anchor="middle" x="171" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge3_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge3_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M92.02,-21.02C99.86,-19.88 108.08,-18.68 116.12,-17.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="116.43,-20.99 125.82,-16.08 115.42,-14.07 116.43,-20.99"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge2_Node000002_Node000002" class="edge">
<title>Node2&#45;&gt;Node2</title>
<g id="a_edge2_Node000002_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M151.41,-56.54C142.48,-65.15 149.01,-74.25 171,-74.25 183.03,-74.25 190.43,-71.53 193.21,-67.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.64,-66.94 190.94,-58.01 189.82,-68.55 196.64,-66.94"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -1,11 +0,0 @@
<map id="graph::TravellingSalesmanProblem" name="graph::TravellingSalesmanProblem">
<area shape="rect" id="Node000001" title="Function calculates the minimum path distance that will cover all the cities starting from the source..." alt="" coords="5,72,181,113"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/begin.html#" title=" " alt="" coords="245,5,367,31"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="147,69,228,40,245,34,247,39,230,45,149,74"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="250,55,362,80"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="181,80,234,73,234,79,181,85"/>
<area shape="rect" id="Node000004" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/min.html#" title=" " alt="" coords="272,104,340,130"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="181,100,257,109,257,114,181,105"/>
<area shape="rect" id="Node000005" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="229,153,383,179"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="151,111,230,140,247,145,245,151,228,145,149,116"/>
</map>

View File

@@ -1 +0,0 @@
cb47a93220ea9c21e39f3c1848af5dbf

View File

@@ -1,120 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::TravellingSalesmanProblem Pages: 1 -->
<svg width="291pt" height="138pt"
viewBox="0.00 0.00 291.25 138.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 134.25)">
<title>graph::TravellingSalesmanProblem</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function calculates the minimum path distance that will cover all the cities starting from the source...">
<polygon fill="#999999" stroke="#666666" points="131.5,-79.88 0,-79.88 0,-49.38 131.5,-49.38 131.5,-79.88"/>
<text text-anchor="start" x="8" y="-66.38" font-family="Helvetica,sans-Serif" font-size="10.00">graph::TravellingSalesman</text>
<text text-anchor="middle" x="65.75" y="-55.12" font-family="Helvetica,sans-Serif" font-size="10.00">Problem</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/begin.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="271.25,-130.25 179.5,-130.25 179.5,-111 271.25,-111 271.25,-130.25"/>
<text text-anchor="middle" x="225.38" y="-116.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::begin</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M106.77,-80.29C125.18,-87.35 147.36,-95.65 167.5,-102.62 171.73,-104.09 176.15,-105.57 180.58,-107.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="179.46,-110.34 190.05,-110.09 181.61,-103.68 179.46,-110.34"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="267.5,-93.25 183.25,-93.25 183.25,-74 267.5,-74 267.5,-93.25"/>
<text text-anchor="middle" x="225.38" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M131.77,-72.46C145.02,-74.06 158.8,-75.72 171.56,-77.26"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="171.09,-80.73 181.44,-78.45 171.93,-73.78 171.09,-80.73"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/min.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="251,-56.25 199.75,-56.25 199.75,-37 251,-37 251,-56.25"/>
<text text-anchor="middle" x="225.38" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::min</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M131.77,-57.2C151.2,-54.98 171.79,-52.63 188.6,-50.71"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="188.54,-54.24 198.08,-49.63 187.74,-47.29 188.54,-54.24"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="283.25,-19.25 167.5,-19.25 167.5,0 283.25,0 283.25,-19.25"/>
<text text-anchor="middle" x="225.38" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M108.26,-48.9C126.39,-42.16 147.93,-34.31 167.5,-27.62 171.73,-26.18 176.16,-24.71 180.59,-23.26"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="181.62,-26.61 190.07,-20.21 179.48,-19.94 181.62,-26.61"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -1,94 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::TravellingSalesmanProblem Pages: 1 -->
<svg width="291pt" height="138pt"
viewBox="0.00 0.00 291.25 138.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 134.25)">
<title>graph::TravellingSalesmanProblem</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function calculates the minimum path distance that will cover all the cities starting from the source...">
<polygon fill="#999999" stroke="#666666" points="131.5,-79.88 0,-79.88 0,-49.38 131.5,-49.38 131.5,-79.88"/>
<text text-anchor="start" x="8" y="-66.38" font-family="Helvetica,sans-Serif" font-size="10.00">graph::TravellingSalesman</text>
<text text-anchor="middle" x="65.75" y="-55.12" font-family="Helvetica,sans-Serif" font-size="10.00">Problem</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/begin.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="271.25,-130.25 179.5,-130.25 179.5,-111 271.25,-111 271.25,-130.25"/>
<text text-anchor="middle" x="225.38" y="-116.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::begin</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M106.77,-80.29C125.18,-87.35 147.36,-95.65 167.5,-102.62 171.73,-104.09 176.15,-105.57 180.58,-107.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="179.46,-110.34 190.05,-110.09 181.61,-103.68 179.46,-110.34"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="267.5,-93.25 183.25,-93.25 183.25,-74 267.5,-74 267.5,-93.25"/>
<text text-anchor="middle" x="225.38" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M131.77,-72.46C145.02,-74.06 158.8,-75.72 171.56,-77.26"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="171.09,-80.73 181.44,-78.45 171.93,-73.78 171.09,-80.73"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/min.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="251,-56.25 199.75,-56.25 199.75,-37 251,-37 251,-56.25"/>
<text text-anchor="middle" x="225.38" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::min</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M131.77,-57.2C151.2,-54.98 171.79,-52.63 188.6,-50.71"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="188.54,-54.24 198.08,-49.63 187.74,-47.29 188.54,-54.24"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="283.25,-19.25 167.5,-19.25 167.5,0 283.25,0 283.25,-19.25"/>
<text text-anchor="middle" x="225.38" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M108.26,-48.9C126.39,-42.16 147.93,-34.31 167.5,-27.62 171.73,-26.18 176.16,-24.71 180.59,-23.26"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="181.62,-26.61 190.07,-20.21 179.48,-19.94 181.62,-26.61"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,15 +0,0 @@
<map id="graph::dijkstra" name="graph::dijkstra">
<area shape="rect" id="Node000001" title="Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return..." alt="" coords="5,149,109,174"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/priority_queue/empty.html#" title=" " alt="" coords="171,5,300,46"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="66,147,102,103,127,78,155,56,162,51,164,56,158,60,131,82,106,107,70,150"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair.html#" title=" " alt="" coords="182,70,289,96"/>
<area shape="poly" id="edge2_Node000001_Node000003" title=" " alt="" coords="78,146,156,105,170,99,172,104,158,109,81,151"/>
<area shape="rect" id="Node000004" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/priority_queue/pop.html#" title=" " alt="" coords="157,120,314,145"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="109,151,141,145,142,150,110,156"/>
<area shape="rect" id="Node000005" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/priority_queue/push.html#" title=" " alt="" coords="171,169,300,210"/>
<area shape="poly" id="edge4_Node000001_Node000005" title=" " alt="" coords="110,167,156,175,155,180,109,172"/>
<area shape="rect" id="Node000006" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="178,234,293,260"/>
<area shape="poly" id="edge5_Node000001_Node000006" title=" " alt="" coords="79,173,115,196,158,219,174,226,172,231,156,224,112,201,76,177"/>
<area shape="rect" id="Node000007" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/priority_queue/top.html#" title=" " alt="" coords="158,284,312,309"/>
<area shape="poly" id="edge6_Node000001_Node000007" title=" " alt="" coords="69,173,104,221,129,247,158,270,166,274,163,279,155,275,126,251,100,224,64,177"/>
</map>

View File

@@ -1 +0,0 @@
855e56c99675b63f73abd12c0a226174

View File

@@ -1,157 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::dijkstra Pages: 1 -->
<svg width="240pt" height="236pt"
viewBox="0.00 0.00 239.50 235.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 231.88)">
<title>graph::dijkstra</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...">
<polygon fill="#999999" stroke="#666666" points="77.5,-120.25 0,-120.25 0,-101 77.5,-101 77.5,-120.25"/>
<text text-anchor="middle" x="38.75" y="-106.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::dijkstra</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/empty.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="220.62,-227.88 124.38,-227.88 124.38,-197.38 220.62,-197.38 220.62,-227.88"/>
<text text-anchor="start" x="132.38" y="-214.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue</text>
<text text-anchor="middle" x="172.5" y="-203.12" font-family="Helvetica,sans-Serif" font-size="10.00">::empty</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M46.87,-120.52C58.95,-136.7 84.95,-168.97 113.5,-188.62 115.04,-189.69 116.64,-190.71 118.28,-191.71"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="116.21,-194.57 126.66,-196.29 119.57,-188.42 116.21,-194.57"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="212.75,-179.25 132.25,-179.25 132.25,-160 212.75,-160 212.75,-179.25"/>
<text text-anchor="middle" x="172.5" y="-165.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M55.67,-120.74C70.28,-129.72 92.76,-142.75 113.5,-151.62 116.89,-153.08 120.44,-154.47 124.04,-155.79"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="122.86,-159.08 133.45,-159.03 125.14,-152.46 122.86,-159.08"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="231.5,-142.25 113.5,-142.25 113.5,-123 231.5,-123 231.5,-142.25"/>
<text text-anchor="middle" x="172.5" y="-128.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue::pop</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M77.86,-116.99C85.49,-118.26 93.72,-119.64 102.03,-121.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="101.44,-124.47 111.88,-122.67 102.59,-117.57 101.44,-124.47"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="220.62,-104.88 124.38,-104.88 124.38,-74.38 220.62,-74.38 220.62,-104.88"/>
<text text-anchor="start" x="132.38" y="-91.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue</text>
<text text-anchor="middle" x="172.5" y="-80.12" font-family="Helvetica,sans-Serif" font-size="10.00">::push</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M77.86,-104.55C88.8,-102.81 100.99,-100.86 112.87,-98.97"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="113.29,-102.45 122.61,-97.42 112.19,-95.54 113.29,-102.45"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="215.75,-56.25 129.25,-56.25 129.25,-37 215.75,-37 215.75,-56.25"/>
<text text-anchor="middle" x="172.5" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M53.89,-100.63C68.35,-90.74 91.71,-75.68 113.5,-65.62 117.45,-63.8 121.62,-62.08 125.84,-60.47"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="126.69,-63.88 134.92,-57.21 124.32,-57.29 126.69,-63.88"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="230.38,-19.25 114.62,-19.25 114.62,0 230.38,0 230.38,-19.25"/>
<text text-anchor="middle" x="172.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue::top</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6_Node000001_Node000007" class="edge">
<title>Node1&#45;&gt;Node7</title>
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M45.97,-100.6C57.27,-83.2 82.88,-47.37 113.5,-27.62 115.33,-26.45 117.24,-25.34 119.2,-24.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="120.36,-27.63 128.02,-20.3 117.46,-21.25 120.36,-27.63"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -1,131 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: graph::dijkstra Pages: 1 -->
<svg width="240pt" height="236pt"
viewBox="0.00 0.00 239.50 235.88" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 231.88)">
<title>graph::dijkstra</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Function runs the dijkstra algorithm for some source vertex and target vertex in the graph and return...">
<polygon fill="#999999" stroke="#666666" points="77.5,-120.25 0,-120.25 0,-101 77.5,-101 77.5,-120.25"/>
<text text-anchor="middle" x="38.75" y="-106.75" font-family="Helvetica,sans-Serif" font-size="10.00">graph::dijkstra</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/empty.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="220.62,-227.88 124.38,-227.88 124.38,-197.38 220.62,-197.38 220.62,-227.88"/>
<text text-anchor="start" x="132.38" y="-214.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue</text>
<text text-anchor="middle" x="172.5" y="-203.12" font-family="Helvetica,sans-Serif" font-size="10.00">::empty</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M46.87,-120.52C58.95,-136.7 84.95,-168.97 113.5,-188.62 115.04,-189.69 116.64,-190.71 118.28,-191.71"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="116.21,-194.57 126.66,-196.29 119.57,-188.42 116.21,-194.57"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="212.75,-179.25 132.25,-179.25 132.25,-160 212.75,-160 212.75,-179.25"/>
<text text-anchor="middle" x="172.5" y="-165.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1&#45;&gt;Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M55.67,-120.74C70.28,-129.72 92.76,-142.75 113.5,-151.62 116.89,-153.08 120.44,-154.47 124.04,-155.79"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="122.86,-159.08 133.45,-159.03 125.14,-152.46 122.86,-159.08"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/pop.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="231.5,-142.25 113.5,-142.25 113.5,-123 231.5,-123 231.5,-142.25"/>
<text text-anchor="middle" x="172.5" y="-128.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue::pop</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M77.86,-116.99C85.49,-118.26 93.72,-119.64 102.03,-121.03"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="101.44,-124.47 111.88,-122.67 102.59,-117.57 101.44,-124.47"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/push.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="220.62,-104.88 124.38,-104.88 124.38,-74.38 220.62,-74.38 220.62,-104.88"/>
<text text-anchor="start" x="132.38" y="-91.38" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue</text>
<text text-anchor="middle" x="172.5" y="-80.12" font-family="Helvetica,sans-Serif" font-size="10.00">::push</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1&#45;&gt;Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M77.86,-104.55C88.8,-102.81 100.99,-100.86 112.87,-98.97"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="113.29,-102.45 122.61,-97.42 112.19,-95.54 113.29,-102.45"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="215.75,-56.25 129.25,-56.25 129.25,-37 215.75,-37 215.75,-56.25"/>
<text text-anchor="middle" x="172.5" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5_Node000001_Node000006" class="edge">
<title>Node1&#45;&gt;Node6</title>
<g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M53.89,-100.63C68.35,-90.74 91.71,-75.68 113.5,-65.62 117.45,-63.8 121.62,-62.08 125.84,-60.47"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="126.69,-63.88 134.92,-57.21 124.32,-57.29 126.69,-63.88"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/priority_queue/top.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="230.38,-19.25 114.62,-19.25 114.62,0 230.38,0 230.38,-19.25"/>
<text text-anchor="middle" x="172.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::priority_queue::top</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6_Node000001_Node000007" class="edge">
<title>Node1&#45;&gt;Node7</title>
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M45.97,-100.6C57.27,-83.2 82.88,-47.37 113.5,-27.62 115.33,-26.45 117.24,-25.34 119.2,-24.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="120.36,-27.63 128.02,-20.3 117.46,-21.25 120.36,-27.63"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.4 KiB