1
0
Fork 0
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

341 Zeilen
16 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_79) on Sun Apr 03 00:28:30 PDT 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CycleDetector (JGraphT : a free Java graph library)</title>
<meta name="date" content="2016-04-03">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CycleDetector (JGraphT : a free Java graph library)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CycleDetector.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/jgrapht/alg/ConnectivityInspector.html" title="class in org.jgrapht.alg"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/jgrapht/alg/DijkstraShortestPath.html" title="class in org.jgrapht.alg"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/jgrapht/alg/CycleDetector.html" target="_top">Frames</a></li>
<li><a href="CycleDetector.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.jgrapht.alg</div>
<h2 title="Class CycleDetector" class="title">Class CycleDetector&lt;V,E&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.jgrapht.alg.CycleDetector&lt;V,E&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">CycleDetector&lt;V,E&gt;</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Performs cycle detection on a graph. The <i>inspected graph</i> is specified
at construction time and cannot be modified. Currently, the detector supports
only directed graphs.</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>Sept 16, 2004</dd>
<dt><span class="strong">Author:</span></dt>
<dd>John V. Sichi</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../org/jgrapht/alg/CycleDetector.html#CycleDetector(org.jgrapht.DirectedGraph)">CycleDetector</a></strong>(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a>&lt;<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>,<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">E</a>&gt;&nbsp;graph)</code>
<div class="block">Creates a cycle detector for the specified graph.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/alg/CycleDetector.html#detectCycles()">detectCycles</a></strong>()</code>
<div class="block">Performs yes/no cycle detection on the entire graph.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/alg/CycleDetector.html#detectCyclesContainingVertex(V)">detectCyclesContainingVertex</a></strong>(<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&nbsp;v)</code>
<div class="block">Performs yes/no cycle detection on an individual vertex.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/alg/CycleDetector.html#findCycles()">findCycles</a></strong>()</code>
<div class="block">Finds the vertex set for the subgraph of all cycles.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/alg/CycleDetector.html#findCyclesContainingVertex(V)">findCyclesContainingVertex</a></strong>(<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&nbsp;v)</code>
<div class="block">Finds the vertex set for the subgraph of all cycles which contain a
particular vertex.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CycleDetector(org.jgrapht.DirectedGraph)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CycleDetector</h4>
<pre>public&nbsp;CycleDetector(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a>&lt;<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>,<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">E</a>&gt;&nbsp;graph)</pre>
<div class="block">Creates a cycle detector for the specified graph. Currently only directed
graphs are supported.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>graph</code> - the DirectedGraph in which to detect cycles</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="detectCycles()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detectCycles</h4>
<pre>public&nbsp;boolean&nbsp;detectCycles()</pre>
<div class="block">Performs yes/no cycle detection on the entire graph.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true iff the graph contains at least one cycle</dd></dl>
</li>
</ul>
<a name="detectCyclesContainingVertex(java.lang.Object)">
<!-- -->
</a><a name="detectCyclesContainingVertex(V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detectCyclesContainingVertex</h4>
<pre>public&nbsp;boolean&nbsp;detectCyclesContainingVertex(<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&nbsp;v)</pre>
<div class="block">Performs yes/no cycle detection on an individual vertex.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the vertex to test</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if v is on at least one cycle</dd></dl>
</li>
</ul>
<a name="findCycles()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findCycles</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&gt;&nbsp;findCycles()</pre>
<div class="block">Finds the vertex set for the subgraph of all cycles.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>set of all vertices which participate in at least one cycle in
this graph</dd></dl>
</li>
</ul>
<a name="findCyclesContainingVertex(java.lang.Object)">
<!-- -->
</a><a name="findCyclesContainingVertex(V)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>findCyclesContainingVertex</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&gt;&nbsp;findCyclesContainingVertex(<a href="../../../org/jgrapht/alg/CycleDetector.html" title="type parameter in CycleDetector">V</a>&nbsp;v)</pre>
<div class="block">Finds the vertex set for the subgraph of all cycles which contain a
particular vertex.
<p>REVIEW jvs 25-Aug-2006: This implementation is not guaranteed to cover
all cases. If you want to be absolutely certain that you report vertices
from all cycles containing v, it's safer (but less efficient) to use
StrongConnectivityAlgorithm instead and return the strongly connected
component containing v.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>v</code> - the vertex to test</dd>
<dt><span class="strong">Returns:</span></dt><dd>set of all vertices reachable from v via at least one cycle</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CycleDetector.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../org/jgrapht/alg/ConnectivityInspector.html" title="class in org.jgrapht.alg"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/jgrapht/alg/DijkstraShortestPath.html" title="class in org.jgrapht.alg"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/jgrapht/alg/CycleDetector.html" target="_top">Frames</a></li>
<li><a href="CycleDetector.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2016. All rights reserved.</small></p>
</body>
</html>