mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-23 05:12:40 +08:00
Documentation for 341ed50da8
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.9.2"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: graph/breadth_first_search.cpp File Reference</title>
|
||||
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
|
||||
@@ -17,9 +17,9 @@
|
||||
<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"],
|
||||
MathJax.Hub.Config({
|
||||
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
|
||||
jax: ["input/TeX","output/HTML-CSS"],
|
||||
});
|
||||
</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>
|
||||
@@ -32,8 +32,7 @@
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">Algorithms_in_C++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 1.0.0</span>
|
||||
</div>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
@@ -42,21 +41,22 @@
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<!-- Generated by Doxygen 1.9.2 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="../../menudata.js"></script>
|
||||
<script type="text/javascript" src="../../menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
@@ -70,7 +70,7 @@ $(function() {
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('df/d82/breadth__first__search_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,12 +94,11 @@ $(document).ready(function(){initNavTree('df/d82/breadth__first__search_8cpp.htm
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">breadth_first_search.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">breadth_first_search.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a href="https://en.wikipedia.org/wiki/Breadth-first_search">Breadth First Search Algorithm (Breadth First Search)</a>
|
||||
<p><a href="https://en.wikipedia.org/wiki/Breadth-first_search" target="_blank">Breadth First Search Algorithm (Breadth First Search)</a>
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <algorithm></code><br />
|
||||
<code>#include <cassert></code><br />
|
||||
@@ -116,18 +115,18 @@ Include dependency graph for breadth_first_search.cpp:</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph< T ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
||||
Namespaces</h2></td></tr>
|
||||
<tr class="memitem:df/dce/namespacegraph"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></td></tr>
|
||||
<tr class="memitem:df/dce/namespacegraph"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></td></tr>
|
||||
<tr class="memdesc:df/dce/namespacegraph"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:a483bb8ccf42aaf7375a83e91490eda1e"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a> ()</td></tr>
|
||||
<tr class="separator:a483bb8ccf42aaf7375a83e91490eda1e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -135,21 +134,21 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a href="https://en.wikipedia.org/wiki/Breadth-first_search">Breadth First Search Algorithm (Breadth First Search)</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/ayaankhan98">Ayaan Khan</a> </dd>
|
||||
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Breadth-first_search" target="_blank">Breadth First Search Algorithm (Breadth First Search)</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/ayaankhan98" target="_blank">Ayaan Khan</a> </dd>
|
||||
<dd>
|
||||
<a href="https://github.com/gpamangkp">Aman Kumar Pandey</a></dd></dl>
|
||||
<a href="https://github.com/gpamangkp" target="_blank">Aman Kumar Pandey</a></dd></dl>
|
||||
<p>Breadth First Search also quoted as BFS is a <a class="el" href="../../da/d9a/class_graph.html">Graph</a> Traversal Algorithm. Time Complexity O(|V| + |E|) where V are the number of vertices and E are the number of edges in the graph.</p>
|
||||
<p>Applications of Breadth First Search are</p>
|
||||
<p >Applications of Breadth First Search are</p>
|
||||
<ol type="1">
|
||||
<li>Finding shortest path between two vertices say u and v, with path length measured by number of edges (an advantage over depth first search algorithm)</li>
|
||||
<li>Ford-Fulkerson Method for computing the maximum flow in a flow network.</li>
|
||||
<li>Testing bipartiteness of a graph.</li>
|
||||
<li>Cheney's Algorithm, Copying garbage collection.</li>
|
||||
</ol>
|
||||
<p>And there are many more...</p>
|
||||
<p >And there are many more...</p>
|
||||
<h4>working</h4>
|
||||
<p>In the implementation below we first created a graph using the adjacency list representation of graph. Breadth First Search Works as follows it requires a vertex as a start vertex, Start vertex is that vertex from where you want to start traversing the graph. We maintain a bool array or a vector to keep track of the vertices which we have visited so that we do not traverse the visited vertices again and again and eventually fall into an infinite loop. Along with this boolen array we use a <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>.</p>
|
||||
<p >In the implementation below we first created a graph using the adjacency list representation of graph. Breadth First Search Works as follows it requires a vertex as a start vertex, Start vertex is that vertex from where you want to start traversing the graph. We maintain a bool array or a vector to keep track of the vertices which we have visited so that we do not traverse the visited vertices again and again and eventually fall into an infinite loop. Along with this boolen array we use a <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>.</p>
|
||||
<ol type="1">
|
||||
<li>First we mark the start vertex as visited.</li>
|
||||
<li>Push this visited vertex in the <a class="el" href="../../dc/db5/struct_queue.html">Queue</a>.</li>
|
||||
@@ -160,7 +159,7 @@ Functions</h2></td></tr>
|
||||
</li>
|
||||
</ol>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
||||
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -175,32 +174,32 @@ Functions</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  {</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="../../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>();</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordtype">size_t</span> edges = 0;</div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the number of edges: "</span>;</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> edges;</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  </div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph<int></a> g;</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  </div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter space-separated pairs of vertices that form edges: "</span></div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordtype">int</span> u = 0, v = 0;</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> u >> v;</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(u, v);</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  }</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  </div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#ab1a1a96cd4cddf0d4feb02855c4c16af">breadth_first_search</a>(0);</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
|
||||
<p >Main function </p>
|
||||
<div class="fragment"><div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> {</div>
|
||||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <a class="code hl_function" href="../../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>();</div>
|
||||
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">size_t</span> edges = 0;</div>
|
||||
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the number of edges: "</span>;</div>
|
||||
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> edges;</div>
|
||||
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
|
||||
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_class" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph<int></a> g;</div>
|
||||
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> </div>
|
||||
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter space-separated pairs of vertices that form edges: "</span></div>
|
||||
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> << <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordtype">int</span> u = 0, v = 0;</div>
|
||||
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> u >> v;</div>
|
||||
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> g.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(u, v);</div>
|
||||
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> }</div>
|
||||
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
|
||||
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> g.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981">breadth_first_search</a>(0);</div>
|
||||
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span>}</div>
|
||||
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></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 class="ttc" id="abreadth__first__search_8cpp_html_a483bb8ccf42aaf7375a83e91490eda1e"><div class="ttname"><a href="../../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a></div><div class="ttdeci">static void tests()</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:139</div></div>
|
||||
<div class="ttc" id="aclassgraph_1_1_graph_html"><div class="ttname"><a href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph</a></div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:64</div></div>
|
||||
<div class="ttc" id="aclassgraph_1_1_graph_html_a3755ec9e6a842238c7f4aac10b661981"><div class="ttname"><a href="../../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981">graph::Graph::breadth_first_search</a></div><div class="ttdeci">std::map< T, bool > breadth_first_search(T src)</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:96</div></div>
|
||||
<div class="ttc" id="aclassgraph_1_1_graph_html_a877b2cba40d8d46dde6fb4209effed19"><div class="ttname"><a href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">graph::Graph::add_edge</a></div><div class="ttdeci">void add_edge(T u, T v, bool bidir=true)</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:74</div></div>
|
||||
<div class="ttc" id="aclassgraph_1_1_graph_html_ab1a1a96cd4cddf0d4feb02855c4c16af"><div class="ttname"><a href="../../dc/d61/classgraph_1_1_graph.html#ab1a1a96cd4cddf0d4feb02855c4c16af">graph::Graph::breadth_first_search</a></div><div class="ttdeci">std::map< T, bool > breadth_first_search(T src)</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:96</div></div>
|
||||
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -211,7 +210,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a483bb8ccf42aaf7375a83e91490eda1e"></a>
|
||||
<a id="a483bb8ccf42aaf7375a83e91490eda1e" name="a483bb8ccf42aaf7375a83e91490eda1e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a483bb8ccf42aaf7375a83e91490eda1e">◆ </a></span>tests()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -233,55 +232,55 @@ Here is the call graph for this function:</div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Test function </p>
|
||||
<p>Test 1 Begin</p>
|
||||
<p>Test 2 Begin</p>
|
||||
<p>Test 3 Begins</p>
|
||||
<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> /// Test 1 Begin</span></div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"></span> <a class="code" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph<int></a> g;</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<int, bool></a> correct_result;</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(0, 1);</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(1, 2);</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(2, 3);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  correct_result[0] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  correct_result[1] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  correct_result[2] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  correct_result[3] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  </div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<int, bool></a> returned_result = g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#ab1a1a96cd4cddf0d4feb02855c4c16af">breadth_first_search</a>(2);</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  assert(returned_result == correct_result);</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Test 1 Passed..."</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> /// Test 2 Begin</span></div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"></span> returned_result = g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#ab1a1a96cd4cddf0d4feb02855c4c16af">breadth_first_search</a>(0);</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  </div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  assert(returned_result == correct_result);</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Test 2 Passed..."</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> /// Test 3 Begins</span></div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"></span> <a class="code" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph<std::string></a> g2;</div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  </div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Gorakhpur"</span>, <span class="stringliteral">"Lucknow"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Gorakhpur"</span>, <span class="stringliteral">"Kanpur"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Lucknow"</span>, <span class="stringliteral">"Agra"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Kanpur"</span>, <span class="stringliteral">"Agra"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Lucknow"</span>, <span class="stringliteral">"Prayagraj"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Agra"</span>, <span class="stringliteral">"Noida"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<std::string, bool></a> correct_res;</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<std::string, bool></a> returned_res =</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#ab1a1a96cd4cddf0d4feb02855c4c16af">breadth_first_search</a>(<span class="stringliteral">"Kanpur"</span>);</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  correct_res[<span class="stringliteral">"Gorakhpur"</span>] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  correct_res[<span class="stringliteral">"Lucknow"</span>] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  correct_res[<span class="stringliteral">"Kanpur"</span>] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  correct_res[<span class="stringliteral">"Agra"</span>] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  correct_res[<span class="stringliteral">"Prayagraj"</span>] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  correct_res[<span class="stringliteral">"Noida"</span>] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  assert(correct_res == returned_res);</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Test 3 Passed..."</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> }</div>
|
||||
<p >Test function </p>
|
||||
<p >Test 1 Begin</p>
|
||||
<p >Test 2 Begin</p>
|
||||
<p >Test 3 Begins</p>
|
||||
<div class="fragment"><div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> {<span class="comment"></span></div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment"> /// Test 1 Begin</span></div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="comment"></span> <a class="code hl_class" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph<int></a> g;</div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<int, bool></a> correct_result;</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> g.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(0, 1);</div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> g.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(1, 2);</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> g.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(2, 3);</div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> correct_result[0] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> correct_result[1] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> correct_result[2] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> correct_result[3] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<int, bool></a> returned_result = g.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981">breadth_first_search</a>(2);</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> assert(returned_result == correct_result);</div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Test 1 Passed..."</span> << <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="comment"> /// Test 2 Begin</span></div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="comment"></span> returned_result = g.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981">breadth_first_search</a>(0);</div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> assert(returned_result == correct_result);</div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Test 2 Passed..."</span> << <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="comment"> /// Test 3 Begins</span></div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="comment"></span> <a class="code hl_class" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph<std::string></a> g2;</div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> g2.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Gorakhpur"</span>, <span class="stringliteral">"Lucknow"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> g2.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Gorakhpur"</span>, <span class="stringliteral">"Kanpur"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> g2.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Lucknow"</span>, <span class="stringliteral">"Agra"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> g2.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Kanpur"</span>, <span class="stringliteral">"Agra"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> g2.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Lucknow"</span>, <span class="stringliteral">"Prayagraj"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> g2.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19">add_edge</a>(<span class="stringliteral">"Agra"</span>, <span class="stringliteral">"Noida"</span>, <span class="keyword">false</span>);</div>
|
||||
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
|
||||
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<std::string, bool></a> correct_res;</div>
|
||||
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<std::string, bool></a> returned_res =</div>
|
||||
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> g2.<a class="code hl_function" href="../../dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981">breadth_first_search</a>(<span class="stringliteral">"Kanpur"</span>);</div>
|
||||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> correct_res[<span class="stringliteral">"Gorakhpur"</span>] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> correct_res[<span class="stringliteral">"Lucknow"</span>] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> correct_res[<span class="stringliteral">"Kanpur"</span>] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> correct_res[<span class="stringliteral">"Agra"</span>] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> correct_res[<span class="stringliteral">"Prayagraj"</span>] = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> correct_res[<span class="stringliteral">"Noida"</span>] = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> assert(correct_res == returned_res);</div>
|
||||
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Test 3 Passed..."</span> << <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>}</div>
|
||||
<div class="ttc" id="amap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a></div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -298,7 +297,7 @@ Here is the call graph for this function:</div>
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dir_12552d7fa429bf94a2e32e5cf39f7e69.html">graph</a></li><li class="navelem"><a class="el" href="../../df/d82/breadth__first__search_8cpp.html">breadth_first_search.cpp</a></li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user