⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pattern_8h-source.html

📁 这是一个用于数据挖掘的常用算法的模板库(数据挖掘的C++模板库for UNIX)
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<a name="l00120"></a>00120 <a name="l00121"></a>00121       <a class="code" href="classpattern.html#71d3931874255439f8467d3bb3ee2d40">clone</a>-&gt;_canonical_code = _canonical_code;<a name="l00122"></a>00122       <a class="code" href="classpattern.html#71d3931874255439f8467d3bb3ee2d40">clone</a>-&gt;_canonical_code.update_code();<a name="l00123"></a>00123 <a name="l00124"></a>00124       <span class="keywordflow">return</span> <a class="code" href="classpattern.html#71d3931874255439f8467d3bb3ee2d40">clone</a>;<a name="l00125"></a>00125     }<span class="comment">//end clone()</span><a name="l00126"></a>00126 <a name="l00127"></a>00127     <span class="keywordtype">int</span> rmost_vid()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _rmost_vid;};<a name="l00128"></a>00128     <span class="keywordtype">void</span> set_rmost_vid(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; rvid) {_rmost_vid=rvid;}<a name="l00129"></a>00129 <a name="l00130"></a>00130     <span class="keywordtype">bool</span> is_canonical()<span class="keyword"> const </span>{<span class="keywordflow">return</span> _is_canonical;}<a name="l00131"></a>00131     <a name="l00132"></a>00132     <span class="keyword">const</span> VERTEX_T&amp; rmost_vertex()<span class="keyword"> const </span>{<a name="l00133"></a>00133       <span class="keywordtype">int</span> rvid=rmost_vid();<a name="l00134"></a>00134       CONST_IT it=_graph.vertex_vals(rvid);<a name="l00135"></a>00135       <span class="keywordflow">return</span> it-&gt;v;<a name="l00136"></a>00136     }<a name="l00137"></a>00137 <a name="l00139"></a><a class="code" href="classpattern.html#4e1adb7fbf83795c46cdedd9d5a0c923">00139</a>     <span class="keyword">const</span> VERTEX_T&amp; <a class="code" href="classpattern.html#4e1adb7fbf83795c46cdedd9d5a0c923">label</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; vid)<span class="keyword"> const </span>{<a name="l00140"></a>00140       CONST_IT it=_graph.vertex_vals(vid);<a name="l00141"></a>00141       <span class="keywordflow">return</span> it-&gt;v;<a name="l00142"></a>00142     }<span class="comment">//end label()</span><a name="l00143"></a>00143     <a name="l00145"></a><a class="code" href="classpattern.html#a7a0c9e586643031469f44d15ead5d37">00145</a>     <span class="keywordtype">int</span> <a class="code" href="classpattern.html#a7a0c9e586643031469f44d15ead5d37">add_vertex</a>(<span class="keyword">const</span> VERTEX_T&amp; v) {<a name="l00146"></a>00146       set_rmost_vid(_graph.add_vertex(v));<a name="l00147"></a>00147       <a name="l00148"></a>00148       <span class="keywordflow">return</span> rmost_vid();<a name="l00149"></a>00149     }<span class="comment">//end add_vertex()</span><a name="l00150"></a>00150     <a name="l00151"></a>00151     <a name="l00154"></a><a class="code" href="classpattern.html#ac5dd176b16659ebd9fc665a1a77eea2">00154</a>     <span class="keywordtype">void</span> <a class="code" href="classpattern.html#ac5dd176b16659ebd9fc665a1a77eea2">add_out_edge</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; src, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; dest, <span class="keyword">const</span> EDGE_T&amp; e) {<a name="l00155"></a>00155       _graph.add_out_edge(src, dest, e);<a name="l00156"></a>00156     }<a name="l00157"></a>00157     <a name="l00161"></a><a class="code" href="classpattern.html#40590cc9a4598df65983f7716aa3c7fa">00161</a>     <span class="keywordtype">void</span> <a class="code" href="classpattern.html#40590cc9a4598df65983f7716aa3c7fa">add_in_edge</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; dest, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; src, <span class="keyword">const</span> EDGE_T&amp; e) {<a name="l00162"></a>00162       _graph.add_in_edge(dest, src, e);<a name="l00163"></a>00163     }<a name="l00164"></a>00164 <a name="l00167"></a><a class="code" href="classpattern.html#5a5426b0329b48ae69012d2a4acc890f">00167</a>     EIT_PAIR <a class="code" href="classpattern.html#5a5426b0329b48ae69012d2a4acc890f">out_edges</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; idval) { <a name="l00168"></a>00168       <span class="keywordflow">return</span> _graph.out_edges(idval);<a name="l00169"></a>00169  <a name="l00170"></a>00170     }<a name="l00171"></a>00171 <a name="l00172"></a>00172     CONST_EIT_PAIR <a class="code" href="classpattern.html#5a5426b0329b48ae69012d2a4acc890f">out_edges</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; idval)<span class="keyword"> const </span>{ <a name="l00173"></a>00173   <span class="comment">//cout &lt;&lt;_graph;</span><a name="l00174"></a>00174       <span class="keywordflow">return</span> _graph.out_edges(idval);<a name="l00175"></a>00175     }<a name="l00176"></a>00176 <a name="l00177"></a>00177 <a name="l00180"></a><a class="code" href="classpattern.html#0493e9235ac66ab55141ad28a5884e11">00180</a>     EIT_PAIR <a class="code" href="classpattern.html#0493e9235ac66ab55141ad28a5884e11">in_edges</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; idval) {<a name="l00181"></a>00181       <span class="keywordflow">return</span> _graph.in_edges(idval);<a name="l00182"></a>00182     }<a name="l00183"></a>00183 <a name="l00184"></a>00184     CONST_EIT_PAIR <a class="code" href="classpattern.html#0493e9235ac66ab55141ad28a5884e11">in_edges</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; idval)<span class="keyword"> const </span>{<a name="l00185"></a>00185       <span class="keywordflow">return</span> _graph.in_edges(idval);<a name="l00186"></a>00186     }<a name="l00187"></a>00187 <a name="l00188"></a>00188     <span class="keywordtype">bool</span> get_out_edge(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; src, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; dest, EDGE_T&amp; e)<span class="keyword"> const </span>{ <a name="l00189"></a>00189       <span class="keywordflow">return</span> _graph.get_out_edge(src, dest, e);<a name="l00190"></a>00190     }<a name="l00191"></a>00191 <a name="l00192"></a>00192     <span class="keywordtype">bool</span> get_in_edge(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; src, <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; dest, <span class="keyword">const</span> EDGE_T&amp; e)<span class="keyword"> const </span>{ <a name="l00193"></a>00193       <span class="keywordflow">return</span> _graph.get_in_edge(src, dest, e);<a name="l00194"></a>00194     }<a name="l00195"></a>00195 <a name="l00196"></a>00196     <span class="comment">// Unique int identifier for a pattern.</span><a name="l00197"></a>00197     CC_STORAGE_TYPE <a name="l00198"></a>00198     pat_id()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _canonical_code.getCode(); } <a name="l00199"></a>00199 <a name="l00200"></a>00200     <span class="keywordtype">bool</span> operator&lt; (const pattern&lt;PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC&gt; rhs) <span class="keyword">const</span>;<a name="l00201"></a>00201 <a name="l00202"></a>00202     <span class="keyword">friend</span> ostream&amp; operator&lt;&lt; &lt;&gt;(ostream&amp;, <span class="keyword">const</span> <a class="code" href="classpattern.html">pattern&lt;PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC&gt;</a>*);<a name="l00203"></a>00203 <a name="l00204"></a>00204     <span class="keyword">friend</span> <span class="keywordtype">bool</span> check_isomorphism &lt;&gt;(PATTERN* <span class="keyword">const</span>&amp; pat);<a name="l00205"></a>00205 <a name="l00206"></a>00206     <span class="comment">// friend function - this shall be specialized on pattern-props</span><a name="l00207"></a>00207     <span class="keyword">friend</span> <span class="keywordtype">void</span> update_rmost_path &lt;&gt;(<a class="code" href="classpattern.html">pattern&lt;PATTERN_PROPS, MINING_PROPS, ST, CC, ALLOC&gt;</a>*<span class="keyword">const</span>&amp;);<a name="l00208"></a>00208 <a name="l00209"></a>00209     <span class="keywordtype">void</span> set_support(<span class="keyword">const</span> <a class="code" href="classpattern__support.html">pattern_support&lt;MINING_PROPS&gt;</a>* <span class="keyword">const</span>&amp; pat_sup) {<a name="l00210"></a>00210        _pat_sup.<a class="code" href="classpattern__support.html#a54cccfd00ce22f6dae6ebc03af412da">set_vals</a>(pat_sup); <a name="l00211"></a>00211     }<a name="l00212"></a>00212 <a name="l00217"></a><a class="code" href="classpattern.html#93f1532b84b16da807a4e1386b95dcbc">00217</a>     <span class="keywordtype">void</span> <a class="code" href="classpattern.html#93f1532b84b16da807a4e1386b95dcbc">set_sup</a>(<span class="keyword">const</span> pair&lt;int, int&gt;&amp; s) {<a name="l00218"></a>00218        _pat_sup.<a class="code" href="classpattern__support.html#ceb8296801b8f94ae5ec5e00f0867b9d">set_sup</a>(s); <a name="l00219"></a>00219        _is_canonical=<span class="keyword">true</span>;<a name="l00220"></a>00220     }<a name="l00221"></a>00221 <a name="l00222"></a>00222     <span class="keywordtype">bool</span> is_freq(<span class="keywordtype">int</span> min_sup) {<a name="l00223"></a>00223       <span class="keywordflow">return</span> _pat_sup.<a class="code" href="classpattern__support.html#46d0c7ce607ea9a387099dce7629772e">is_freq</a>(min_sup);<a name="l00224"></a>00224     }<a name="l00225"></a>00225     <a name="l00226"></a>00226     <span class="keywordtype">bool</span> is_valid(<span class="keyword">const</span> <span class="keywordtype">int</span>&amp; ms)<span class="keyword"> const </span>{ <a name="l00227"></a>00227       <span class="keywordflow">return</span> (_pat_sup.<a class="code" href="classpattern__support.html#5ff596f63780bc6e7a5ebbbf4a17c791">is_valid</a>(ms));<a name="l00228"></a>00228     }<a name="l00229"></a>00229     <a name="l00233"></a><a class="code" href="classpattern.html#b7c9f6193c9eccef49f6ce8fcc837661">00233</a>     <span class="keywordtype">void</span> <a class="code" href="classpattern.html#b7c9f6193c9eccef49f6ce8fcc837661">init_canonical_code</a>(<span class="keyword">const</span> CC_INIT_TYPE&amp; cc) {<a name="l00234"></a>00234       _canonical_code.init(cc, <span class="keyword">this</span>);<a name="l00235"></a>00235     }<a name="l00236"></a>00236     <a name="l00237"></a>00237     <span class="keyword">const</span> RMP_T&amp; rmost_path()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _rmost_path;}<a name="l00238"></a>00238 <a name="l00239"></a>00239     <span class="keywordtype">void</span> update_rmpath(<span class="keywordtype">int</span> val) {<a name="l00240"></a>00240       _rmost_path.push_back(val);<a name="l00241"></a>00241     }<a name="l00242"></a>00242 <a name="l00243"></a>00243     <span class="keyword">const</span> CAN_CODE&amp; <a class="code" href="classcanonical__code.html">canonical_code</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _canonical_code;}<a name="l00244"></a>00244     <a class="code" href="classpattern__support.html">pattern_support&lt;MINING_PROPS&gt;</a> _pat_sup;    <a name="l00245"></a>00245 <a name="l00246"></a>00246  <span class="keyword">private</span>:<a name="l00247"></a>00247 <a name="l00248"></a>00248     ST _graph;<a name="l00249"></a>00249     CAN_CODE _canonical_code;<a name="l00250"></a>00250     <span class="keywordtype">int</span> _rmost_vid; <span class="comment">//id of right-most vertex of this pattern</span><a name="l00251"></a>00251     <span class="keywordtype">bool</span> _is_canonical;<a name="l00252"></a>00252     RMP_T _rmost_path; <span class="comment">//ids of vertices on right most path</span><a name="l00253"></a>00253 <a name="l00254"></a>00254   }; <span class="comment">//end class pattern</span><a name="l00255"></a>00255 <a name="l00256"></a>00256 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Jul 26 14:01:08 2006 for DMTL by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -