mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-24 05:42:59 +08:00
Documentation for af90da7fb3
This commit is contained in:
@@ -91,8 +91,8 @@ $(document).ready(function(){initNavTree('df/d82/breadth__first__search_8cpp.htm
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#typedef-members">Typedefs</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">breadth_first_search.cpp File Reference</div> </div>
|
||||
@@ -106,36 +106,29 @@ $(document).ready(function(){initNavTree('df/d82/breadth__first__search_8cpp.htm
|
||||
<code>#include <iostream></code><br />
|
||||
<code>#include <queue></code><br />
|
||||
<code>#include <vector></code><br />
|
||||
<code>#include <map></code><br />
|
||||
<code>#include <list></code><br />
|
||||
<code>#include <string></code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for breadth_first_search.cpp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d6/dec/breadth__first__search_8cpp__incl.svg" width="438" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d6/dec/breadth__first__search_8cpp__incl.svg" width="651" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 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>
|
||||
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="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="typedef-members"></a>
|
||||
Typedefs</h2></td></tr>
|
||||
<tr class="memitem:ad9e7929c7542e1865501c808b4364ec9"><td class="memItemLeft" align="right" valign="top">using </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#ad9e7929c7542e1865501c808b4364ec9">graph::adjacency_list</a> = <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< int > ></td></tr>
|
||||
<tr class="memdesc:ad9e7929c7542e1865501c808b4364ec9"><td class="mdescLeft"> </td><td class="mdescRight">Representation of the graph as an adjacency list. <a href="../../df/dce/namespacegraph.html#ad9e7929c7542e1865501c808b4364ec9">More...</a><br /></td></tr>
|
||||
<tr class="separator:ad9e7929c7542e1865501c808b4364ec9"><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>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:a1a13974bfe597e853bffe91aa2d3944d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a> (adjacency_list *graph, int u, int v)</td></tr>
|
||||
<tr class="memdesc:a1a13974bfe597e853bffe91aa2d3944d"><td class="mdescLeft"> </td><td class="mdescRight">Adds a directed edge from vertex u to vertex v. <a href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">More...</a><br /></td></tr>
|
||||
<tr class="separator:a1a13974bfe597e853bffe91aa2d3944d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8c7d0cbc90b3b921d02da35d58b63153"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#a8c7d0cbc90b3b921d02da35d58b63153">graph::add_undirected_edge</a> (adjacency_list *graph, int u, int v)</td></tr>
|
||||
<tr class="memdesc:a8c7d0cbc90b3b921d02da35d58b63153"><td class="mdescLeft"> </td><td class="mdescRight">Adds an undirected edge from vertex u to vertex v. Essentially adds too directed edges to the adjacency list reprsentation of the graph. <a href="../../df/dce/namespacegraph.html#a8c7d0cbc90b3b921d02da35d58b63153">More...</a><br /></td></tr>
|
||||
<tr class="separator:a8c7d0cbc90b3b921d02da35d58b63153"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0e0d3bf6c8a63f8071395c53a3cd148d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< bool > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#a0e0d3bf6c8a63f8071395c53a3cd148d">graph::breadth_first_search</a> (const adjacency_list &graph, int start)</td></tr>
|
||||
<tr class="memdesc:a0e0d3bf6c8a63f8071395c53a3cd148d"><td class="mdescLeft"> </td><td class="mdescRight">Function performs the breadth first search algorithm over the graph. <a href="../../df/dce/namespacegraph.html#a0e0d3bf6c8a63f8071395c53a3cd148d">More...</a><br /></td></tr>
|
||||
<tr class="separator:a0e0d3bf6c8a63f8071395c53a3cd148d"><td class="memSeparator" colspan="2"> </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>
|
||||
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d82/breadth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
||||
@@ -143,7 +136,9 @@ Functions</h2></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="http://github.com/ayaankhan98">Ayaan Khan</a></dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/ayaankhan98">Ayaan Khan</a> </dd>
|
||||
<dd>
|
||||
<a href="https://github.com/gpamangkp">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>
|
||||
<ol type="1">
|
||||
@@ -181,34 +176,29 @@ Functions</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  {</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="../../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>();</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordtype">size_t</span> vertices = 0, edges = 0;</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</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 vertices: "</span>;</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> vertices;</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</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="l00181"></a><span class="lineno"> 181</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="l00182"></a><span class="lineno"> 182</span>  </div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">graph::adjacency_list</a> <a class="code" href="../../df/dce/namespacegraph.html">graph</a>(vertices);</div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  </div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</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="l00186"></a><span class="lineno"> 186</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="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordtype">int</span> u = 0, v = 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_istream.html">std::cin</a> >> u >> v;</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="comment">// Decrement the vertex index so that we can read more convenint</span></div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="comment">// 1-based indexing from the user input.</span></div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, u - 1, v - 1);</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>  </div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="../../df/dce/namespacegraph.html#a0e0d3bf6c8a63f8071395c53a3cd148d">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0);</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  {</div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="../../df/d82/breadth__first__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>();</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordtype">size_t</span> edges = 0;</div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</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="l00188"></a><span class="lineno"> 188</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="l00189"></a><span class="lineno"> 189</span>  </div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <a class="code" href="../../dc/d61/classgraph_1_1_graph.html">graph::Graph<int></a> g;</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="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="l00193"></a><span class="lineno"> 193</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="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordtype">int</span> u = 0, v = 0;</div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</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="l00197"></a><span class="lineno"> 197</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="l00198"></a><span class="lineno"> 198</span>  }</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  </div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a6e3efabd5e401ef0f47c179866e7454e">breadth_first_search</a>(0);</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</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/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="612" height="458"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/d82/breadth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="544" height="190"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -240,48 +230,55 @@ Here is the call graph for this function:</div>
|
||||
<p>Test 1 Begin</p>
|
||||
<p>Test 2 Begin</p>
|
||||
<p>Test 3 Begins</p>
|
||||
<div class="fragment"><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="comment"> /// Test 1 Begin</span></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">graph::adjacency_list</a> <a class="code" href="../../df/dce/namespacegraph.html">graph</a>(4, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<int></a>());</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="../../df/dce/namespacegraph.html#a8c7d0cbc90b3b921d02da35d58b63153">graph::add_undirected_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 1);</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="../../df/dce/namespacegraph.html#a8c7d0cbc90b3b921d02da35d58b63153">graph::add_undirected_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 2);</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="../../df/dce/namespacegraph.html#a8c7d0cbc90b3b921d02da35d58b63153">graph::add_undirected_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2, 3);</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<bool></a> returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a0e0d3bf6c8a63f8071395c53a3cd148d">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2);</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/vector.html">std::vector<bool></a> correct_result = {<span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</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="l00147"></a><span class="lineno"> 147</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="comment"> /// Test 2 Begin</span></div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="comment"></span> returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a0e0d3bf6c8a63f8071395c53a3cd148d">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0);</div>
|
||||
<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> /// Test 1 Begin</span></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</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="l00140"></a><span class="lineno"> 140</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="l00141"></a><span class="lineno"> 141</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="l00142"></a><span class="lineno"> 142</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="l00143"></a><span class="lineno"> 143</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="l00144"></a><span class="lineno"> 144</span>  correct_result[0]=<span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  correct_result[1]=<span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  correct_result[2]=<span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  correct_result[3]=<span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</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#a6e3efabd5e401ef0f47c179866e7454e">breadth_first_search</a>(2);</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>  assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</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="l00154"></a><span class="lineno"> 154</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"> /// Test 3 Begins</span></div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"></span> <a class="code" href="../../df/dce/namespacegraph.html">graph</a>.clear();</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="../../df/dce/namespacegraph.html">graph</a>.resize(6);</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 1);</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 0, 2);</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 3);</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2, 3);</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 1, 4);</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a>(&<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 3, 5);</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>  returned_result = <a class="code" href="../../df/dce/namespacegraph.html#a0e0d3bf6c8a63f8071395c53a3cd148d">graph::breadth_first_search</a>(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>, 2);</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  correct_result = {<span class="keyword">false</span>, <span class="keyword">false</span>, <span class="keyword">true</span>, <span class="keyword">true</span>, <span class="keyword">false</span>, <span class="keyword">true</span>};</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  </div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a>(correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), correct_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(),</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  returned_result.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>()));</div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</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="l00171"></a><span class="lineno"> 171</span> }</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  assert(returned_result==correct_result);</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</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="l00153"></a><span class="lineno"> 153</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"> /// Test 2 Begin</span></div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="comment"></span> returned_result = g.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a6e3efabd5e401ef0f47c179866e7454e">breadth_first_search</a>(0);</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  assert(returned_result==correct_result);</div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</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="l00159"></a><span class="lineno"> 159</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> /// Test 3 Begins</span></div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</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="l00162"></a><span class="lineno"> 162</span>  </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</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="l00164"></a><span class="lineno"> 164</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="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">"Lucknow"</span>,<span class="stringliteral">"Agra"</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">"Kanpur"</span>,<span class="stringliteral">"Agra"</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">"Prayagraj"</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">"Agra"</span>,<span class="stringliteral">"Noida"</span>,<span class="keyword">false</span>);</div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</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="l00171"></a><span class="lineno"> 171</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<std::string,bool></a> returned_res=g2.<a class="code" href="../../dc/d61/classgraph_1_1_graph.html#a6e3efabd5e401ef0f47c179866e7454e">breadth_first_search</a>(<span class="stringliteral">"Kanpur"</span>);</div>
|
||||
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  correct_res[<span class="stringliteral">"Gorakhpur"</span>]=<span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  correct_res[<span class="stringliteral">"Lucknow"</span>]=<span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  correct_res[<span class="stringliteral">"Kanpur"</span>]=<span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  correct_res[<span class="stringliteral">"Agra"</span>]=<span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  correct_res[<span class="stringliteral">"Prayagraj"</span>]=<span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  correct_res[<span class="stringliteral">"Noida"</span>]=<span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  assert(correct_res==returned_res);</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</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="l00180"></a><span class="lineno"> 180</span>  </div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</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/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg" width="514" height="351"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/d82/breadth__first__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg" width="446" height="190"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -289,18 +286,14 @@ Here is the call graph for this function:</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div class="ttc" id="aequal_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/equal.html">std::equal</a></div><div class="ttdeci">T equal(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< std::vector< int > ></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:134</div></div>
|
||||
<div class="ttc" id="anamespacegraph_html_a8c7d0cbc90b3b921d02da35d58b63153"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a8c7d0cbc90b3b921d02da35d58b63153">graph::add_undirected_edge</a></div><div class="ttdeci">void add_undirected_edge(adjacency_list *graph, int u, int v)</div><div class="ttdoc">Adds an undirected edge from vertex u to vertex v. Essentially adds too directed edges to the adjacen...</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:92</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:137</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="anamespacegraph_html_a0e0d3bf6c8a63f8071395c53a3cd148d"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a0e0d3bf6c8a63f8071395c53a3cd148d">graph::breadth_first_search</a></div><div class="ttdeci">std::vector< bool > breadth_first_search(const adjacency_list &graph, int start)</div><div class="ttdoc">Function performs the breadth first search algorithm over the graph.</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:107</div></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 class="ttdoc">STL class.</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:72</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 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="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="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="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="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="anamespacegraph_html_a1a13974bfe597e853bffe91aa2d3944d"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a1a13974bfe597e853bffe91aa2d3944d">graph::add_directed_edge</a></div><div class="ttdeci">void add_directed_edge(adjacency_list *graph, int u, int v)</div><div class="ttdoc">Adds a directed edge from vertex u to vertex v.</div><div class="ttdef"><b>Definition:</b> breadth_first_search.cpp:77</div></div>
|
||||
<div class="ttc" id="aclassgraph_1_1_graph_html_a6e3efabd5e401ef0f47c179866e7454e"><div class="ttname"><a href="../../dc/d61/classgraph_1_1_graph.html#a6e3efabd5e401ef0f47c179866e7454e">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:94</div></div>
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
|
||||
Reference in New Issue
Block a user