Documentation for f1eddf4d65

This commit is contained in:
realstealthninja
2025-07-09 10:53:16 +00:00
parent e7edde96ab
commit b41207008f
2497 changed files with 31270 additions and 40283 deletions

View File

@@ -4,7 +4,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.13.2"/>
<meta name="generator" content="Doxygen 1.14.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: graph::HKGraph Class Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
@@ -19,7 +19,6 @@
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
@@ -60,26 +59,20 @@ window.MathJax = {
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<!-- Generated by Doxygen 1.14.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
$(function() { codefold.init(); });
</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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
@@ -94,10 +87,9 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('d8/d69/classgraph_1_1_h_k_graph.html','../../'); initResizable(true); });
/* @license-end */
$(function(){initNavTree('d8/d69/classgraph_1_1_h_k_graph.html','../../','dc/dea/classgraph_1_1_h_k_graph-members'); });
</script>
<div id="container">
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
@@ -121,10 +113,6 @@ $(function(){initNavTree('d8/d69/classgraph_1_1_h_k_graph.html','../../'); initR
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../dc/dea/classgraph_1_1_h_k_graph-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">graph::HKGraph Class Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -134,61 +122,47 @@ $(function(){initNavTree('d8/d69/classgraph_1_1_h_k_graph.html','../../'); initR
<div class="dynheader">
Collaboration diagram for graph::HKGraph:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/d82/classgraph_1_1_h_k_graph__coll__graph.svg" width="294" height="259"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<div class="center"><iframe scrolling="no" loading="lazy" frameborder="0" src="../../df/d82/classgraph_1_1_h_k_graph__coll__graph.svg" width="294" height="286"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 id="header-pub-methods" class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af02b0c83911070ac6d95fc9905e58aa9" id="r_af02b0c83911070ac6d95fc9905e58aa9"><td class="memItemLeft" align="right" valign="top"><a id="af02b0c83911070ac6d95fc9905e58aa9" name="af02b0c83911070ac6d95fc9905e58aa9"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>HKGraph</b> ()</td></tr>
<tr class="memdesc:af02b0c83911070ac6d95fc9905e58aa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor for initialization. <br /></td></tr>
<tr class="separator:af02b0c83911070ac6d95fc9905e58aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0da5aa674d3b3e54a38251ee60d7cd64" id="r_a0da5aa674d3b3e54a38251ee60d7cd64"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0da5aa674d3b3e54a38251ee60d7cd64">HKGraph</a> (int <a class="el" href="#a3d9101e3b4598159005fd028b9b0ff74">m</a>, int <a class="el" href="#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a>)</td></tr>
<tr class="memdesc:a0da5aa674d3b3e54a38251ee60d7cd64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for initialization. <br /></td></tr>
<tr class="separator:a0da5aa674d3b3e54a38251ee60d7cd64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b49011c09cf90a116ab53bef61cd95a" id="r_a3b49011c09cf90a116ab53bef61cd95a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3b49011c09cf90a116ab53bef61cd95a">addEdge</a> (int u, int v)</td></tr>
<tr class="memdesc:a3b49011c09cf90a116ab53bef61cd95a"><td class="mdescLeft">&#160;</td><td class="mdescRight">function to add edge from u to v <br /></td></tr>
<tr class="separator:a3b49011c09cf90a116ab53bef61cd95a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7491add14d9fc04f679114ca6d6f0f93" id="r_a7491add14d9fc04f679114ca6d6f0f93"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7491add14d9fc04f679114ca6d6f0f93">bfs</a> ()</td></tr>
<tr class="memdesc:a7491add14d9fc04f679114ca6d6f0f93"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks for the possibility of augmented path availability. <br /></td></tr>
<tr class="separator:a7491add14d9fc04f679114ca6d6f0f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae794950cb3407b6b47d3dc986cf714c0" id="r_ae794950cb3407b6b47d3dc986cf714c0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae794950cb3407b6b47d3dc986cf714c0">dfs</a> (int u)</td></tr>
<tr class="memdesc:ae794950cb3407b6b47d3dc986cf714c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions checks whether an augmenting path is available exists beginning with free vertex u. <br /></td></tr>
<tr class="separator:ae794950cb3407b6b47d3dc986cf714c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dbda80d02bdc26c3e8ff7330c9be75d" id="r_a9dbda80d02bdc26c3e8ff7330c9be75d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9dbda80d02bdc26c3e8ff7330c9be75d">hopcroftKarpAlgorithm</a> ()</td></tr>
<tr class="memdesc:a9dbda80d02bdc26c3e8ff7330c9be75d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function counts the number of augmenting paths between left and right sides of the Bipartite graph. <br /></td></tr>
<tr class="separator:a9dbda80d02bdc26c3e8ff7330c9be75d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 id="header-pri-attribs" class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a3d9101e3b4598159005fd028b9b0ff74" id="r_a3d9101e3b4598159005fd028b9b0ff74"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a3d9101e3b4598159005fd028b9b0ff74">m</a> {}</td></tr>
<tr class="memdesc:a3d9101e3b4598159005fd028b9b0ff74"><td class="mdescLeft">&#160;</td><td class="mdescRight">m is the number of vertices on left side of Bipartite <a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> <br /></td></tr>
<tr class="separator:a3d9101e3b4598159005fd028b9b0ff74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f5a9fdbb83ef731d739ba6707e21c3c" id="r_a6f5a9fdbb83ef731d739ba6707e21c3c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6f5a9fdbb83ef731d739ba6707e21c3c">n</a> {}</td></tr>
<tr class="memdesc:a6f5a9fdbb83ef731d739ba6707e21c3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">n is the number of vertices on right side of Bipartite <a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> <br /></td></tr>
<tr class="separator:a6f5a9fdbb83ef731d739ba6707e21c3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6d069bd16d6eafa6e08c7e5f735eda6" id="r_ae6d069bd16d6eafa6e08c7e5f735eda6"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ae6d069bd16d6eafa6e08c7e5f735eda6">NIL</a> {0}</td></tr>
<tr class="separator:ae6d069bd16d6eafa6e08c7e5f735eda6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44742cb9cfecd1a4493970af9b8bbb15" id="r_a44742cb9cfecd1a4493970af9b8bbb15"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a44742cb9cfecd1a4493970af9b8bbb15">INF</a> {INT_MAX}</td></tr>
<tr class="separator:a44742cb9cfecd1a4493970af9b8bbb15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35893def7a1c5cd60907b4893117796f" id="r_a35893def7a1c5cd60907b4893117796f"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::list&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a35893def7a1c5cd60907b4893117796f">adj</a></td></tr>
<tr class="memdesc:a35893def7a1c5cd60907b4893117796f"><td class="mdescLeft">&#160;</td><td class="mdescRight">adj[u] stores adjacents of left side and 0 is used for dummy vertex <br /></td></tr>
<tr class="separator:a35893def7a1c5cd60907b4893117796f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86ebff8a70cbfedd05281993d5d1987b" id="r_a86ebff8a70cbfedd05281993d5d1987b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a86ebff8a70cbfedd05281993d5d1987b">pair_u</a></td></tr>
<tr class="memdesc:a86ebff8a70cbfedd05281993d5d1987b"><td class="mdescLeft">&#160;</td><td class="mdescRight">value of vertex 'u' ranges from 1 to m <br /></td></tr>
<tr class="separator:a86ebff8a70cbfedd05281993d5d1987b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a976ee239402cc2726a280e781c706d77" id="r_a976ee239402cc2726a280e781c706d77"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a976ee239402cc2726a280e781c706d77">pair_v</a></td></tr>
<tr class="memdesc:a976ee239402cc2726a280e781c706d77"><td class="mdescLeft">&#160;</td><td class="mdescRight">value of vertex 'v' ranges from 1 to n <br /></td></tr>
<tr class="separator:a976ee239402cc2726a280e781c706d77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a0228bbba3818447fcf6b56128b552a" id="r_a6a0228bbba3818447fcf6b56128b552a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6a0228bbba3818447fcf6b56128b552a">dist</a></td></tr>
<tr class="memdesc:a6a0228bbba3818447fcf6b56128b552a"><td class="mdescLeft">&#160;</td><td class="mdescRight">dist represents the distance between vertex 'u' and vertex 'v' <br /></td></tr>
<tr class="separator:a6a0228bbba3818447fcf6b56128b552a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<a name="details" id="details"></a><h2 id="header-details" class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents Bipartite graph for Hopcroft Karp implementation. </p>
<p class="definition">Definition at line <a class="el" href="../../d1/d9a/hopcroft__karp_8cpp_source.html#l00066">66</a> of file <a class="el" href="../../d1/d9a/hopcroft__karp_8cpp_source.html">hopcroft_karp.cpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
</div><a name="doc-constructors" id="doc-constructors"></a><h2 id="header-doc-constructors" class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0da5aa674d3b3e54a38251ee60d7cd64" name="a0da5aa674d3b3e54a38251ee60d7cd64"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0da5aa674d3b3e54a38251ee60d7cd64">&#9670;&#160;</a></span>HKGraph()</h2>
@@ -229,7 +203,7 @@ Private Attributes</h2></td></tr>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a name="doc-func-members" id="doc-func-members"></a><h2 id="header-doc-func-members" class="groupheader">Member Function Documentation</h2>
<a id="a3b49011c09cf90a116ab53bef61cd95a" name="a3b49011c09cf90a116ab53bef61cd95a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b49011c09cf90a116ab53bef61cd95a">&#9670;&#160;</a></span>addEdge()</h2>
@@ -281,9 +255,9 @@ Private Attributes</h2></td></tr>
</div><div class="memdoc">
<p>This function checks for the possibility of augmented path availability. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if there is an augmenting path available </dd>
<dl class="section return"><dt>Returns</dt><dd><span class="tt">true</span> if there is an augmenting path available </dd>
<dd>
<code>false</code> if there is no augmenting path available </dd></dl>
<span class="tt">false</span> if there is no augmenting path available </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/d9a/hopcroft__karp_8cpp_source.html#l00133">133</a> of file <a class="el" href="../../d1/d9a/hopcroft__karp_8cpp_source.html">hopcroft_karp.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 134</span>{</div>
@@ -364,9 +338,9 @@ Private Attributes</h2></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if there is an augmenting path beginning with free vertex u </dd>
<dl class="section return"><dt>Returns</dt><dd><span class="tt">true</span> if there is an augmenting path beginning with free vertex u </dd>
<dd>
<code>false</code> if there is no augmenting path beginning with free vertex u </dd></dl>
<span class="tt">false</span> if there is no augmenting path beginning with free vertex u </dd></dl>
<p class="definition">Definition at line <a class="el" href="../../d1/d9a/hopcroft__karp_8cpp_source.html#l00191">191</a> of file <a class="el" href="../../d1/d9a/hopcroft__karp_8cpp_source.html">hopcroft_karp.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 192</span>{</div>
@@ -455,7 +429,7 @@ Private Attributes</h2></td></tr>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a name="doc-variable-members" id="doc-variable-members"></a><h2 id="header-doc-variable-members" class="groupheader">Member Data Documentation</h2>
<a id="a35893def7a1c5cd60907b4893117796f" name="a35893def7a1c5cd60907b4893117796f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35893def7a1c5cd60907b4893117796f">&#9670;&#160;</a></span>adj</h2>
@@ -669,11 +643,19 @@ Private Attributes</h2></td></tr>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="page-nav" class="page-nav-panel">
<div id="page-nav-resize-handle"></div>
<div id="page-nav-tree">
<div id="page-nav-contents">
</div><!-- page-nav-contents -->
</div><!-- page-nav-tree -->
</div><!-- page-nav -->
</div><!-- container -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></li><li class="navelem"><a class="el" href="../../d8/d69/classgraph_1_1_h_k_graph.html">HKGraph</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.13.2 </li>
<li class="navelem"><a href="../../df/dce/namespacegraph.html">graph</a></li><li class="navelem"><a href="../../d8/d69/classgraph_1_1_h_k_graph.html">HKGraph</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.14.0 </li>
</ul>
</div>
</body>