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.
463 Zeilen
31 KiB
HTML
463 Zeilen
31 KiB
HTML
vor 8 Jahren
|
<!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:31 PDT 2016 -->
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||
|
<title>TopologicalOrderIterator (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="TopologicalOrderIterator (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/TopologicalOrderIterator.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/traverse/GraphIterator.html" title="interface in org.jgrapht.traverse"><span class="strong">Prev Class</span></a></li>
|
||
|
<li>Next Class</li>
|
||
|
</ul>
|
||
|
<ul class="navList">
|
||
|
<li><a href="../../../index.html?org/jgrapht/traverse/TopologicalOrderIterator.html" target="_top">Frames</a></li>
|
||
|
<li><a href="TopologicalOrderIterator.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: </li>
|
||
|
<li><a href="#nested_classes_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator">Nested</a> | </li>
|
||
|
<li><a href="#fields_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator">Field</a> | </li>
|
||
|
<li><a href="#constructor_summary">Constr</a> | </li>
|
||
|
<li><a href="#method_summary">Method</a></li>
|
||
|
</ul>
|
||
|
<ul class="subNavList">
|
||
|
<li>Detail: </li>
|
||
|
<li>Field | </li>
|
||
|
<li><a href="#constructor_detail">Constr</a> | </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.traverse</div>
|
||
|
<h2 title="Class TopologicalOrderIterator" class="title">Class TopologicalOrderIterator<V,E></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><a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html" title="class in org.jgrapht.traverse">org.jgrapht.traverse.AbstractGraphIterator</a><V,E></li>
|
||
|
<li>
|
||
|
<ul class="inheritance">
|
||
|
<li><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">org.jgrapht.traverse.CrossComponentIterator</a><V,E,<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>></li>
|
||
|
<li>
|
||
|
<ul class="inheritance">
|
||
|
<li>org.jgrapht.traverse.TopologicalOrderIterator<V,E></li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<div class="description">
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList">
|
||
|
<dl>
|
||
|
<dt>All Implemented Interfaces:</dt>
|
||
|
<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a><V>, <a href="../../../org/jgrapht/traverse/GraphIterator.html" title="interface in org.jgrapht.traverse">GraphIterator</a><V,E></dd>
|
||
|
</dl>
|
||
|
<hr>
|
||
|
<br>
|
||
|
<pre>public class <span class="strong">TopologicalOrderIterator<V,E></span>
|
||
|
extends <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><V,E,<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">Implements topological order traversal for a directed acyclic graph. A
|
||
|
topological sort is a permutation <tt>p</tt> of the vertices of a graph such
|
||
|
that an edge <tt>(i,j)</tt> implies that <tt>i</tt> appears before <tt>j</tt>
|
||
|
in <tt>p</tt> (Skiena 1990, p. 208). See also <a
|
||
|
href="http://mathworld.wolfram.com/TopologicalSort.html">
|
||
|
http://mathworld.wolfram.com/TopologicalSort.html</a>.
|
||
|
|
||
|
<p>See "Algorithms in Java, Third Edition, Part 5: Graph Algorithms" by
|
||
|
Robert Sedgewick and "Data Structures and Algorithms with Object-Oriented
|
||
|
Design Patterns in Java" by Bruno R. Preiss for implementation alternatives.
|
||
|
The latter can be found online at <a
|
||
|
href="http://www.brpreiss.com/books/opus5/">
|
||
|
http://www.brpreiss.com/books/opus5/</a></p>
|
||
|
|
||
|
<p>For this iterator to work correctly the graph must be acyclic, and must
|
||
|
not be modified during iteration. Currently there are no means to ensure
|
||
|
that, nor to fail-fast; the results with cyclic input (including self-loops)
|
||
|
or concurrent modifications are undefined. To precheck a graph for cycles,
|
||
|
consider using <a href="../../../org/jgrapht/alg/CycleDetector.html" title="class in org.jgrapht.alg"><code>CycleDetector</code></a> or <a href="../../../org/jgrapht/alg/KosarajuStrongConnectivityInspector.html" title="class in org.jgrapht.alg"><code>KosarajuStrongConnectivityInspector</code></a>.</p></div>
|
||
|
<dl><dt><span class="strong">Since:</span></dt>
|
||
|
<dd>Dec 18, 2004</dd>
|
||
|
<dt><span class="strong">Author:</span></dt>
|
||
|
<dd>Marden Neubert</dd></dl>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<div class="summary">
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList">
|
||
|
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList"><a name="nested_class_summary">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<h3>Nested Class Summary</h3>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList"><a name="nested_classes_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<h3>Nested classes/interfaces inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a></h3>
|
||
|
<code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.VisitColor.html" title="enum in org.jgrapht.traverse">CrossComponentIterator.VisitColor</a></code></li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<!-- =========== FIELD SUMMARY =========== -->
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList"><a name="field_summary">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<h3>Field Summary</h3>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList"><a name="fields_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<h3>Fields inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html" title="class in org.jgrapht.traverse">AbstractGraphIterator</a></h3>
|
||
|
<code><a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#nListeners">nListeners</a></code></li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<!-- ======== 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"> </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/traverse/TopologicalOrderIterator.html#TopologicalOrderIterator(org.jgrapht.DirectedGraph)">TopologicalOrderIterator</a></strong>(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg)</code>
|
||
|
<div class="block">Creates a new topological order iterator over the directed graph
|
||
|
specified, with arbitrary tie-breaking in case of partial order.</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr class="rowColor">
|
||
|
<td class="colOne"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#TopologicalOrderIterator(org.jgrapht.DirectedGraph,%20java.util.Queue)">TopologicalOrderIterator</a></strong>(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg,
|
||
|
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>> queue)</code>
|
||
|
<div class="block">Creates a new topological order iterator over the directed graph
|
||
|
specified, with a user-supplied queue implementation to allow customized
|
||
|
control over tie-breaking in case of partial order.</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"> </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>protected void</code></td>
|
||
|
<td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#encounterVertex(V,%20E)">encounterVertex</a></strong>(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex,
|
||
|
<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</code>
|
||
|
<div class="block">Update data structures the first time we see a vertex.</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr class="rowColor">
|
||
|
<td class="colFirst"><code>protected void</code></td>
|
||
|
<td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#encounterVertexAgain(V,%20E)">encounterVertexAgain</a></strong>(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex,
|
||
|
<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</code>
|
||
|
<div class="block">Called whenever we re-encounter a vertex.</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr class="altColor">
|
||
|
<td class="colFirst"><code>protected boolean</code></td>
|
||
|
<td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#isConnectedComponentExhausted()">isConnectedComponentExhausted</a></strong>()</code>
|
||
|
<div class="block">Returns <tt>true</tt> if there are no more uniterated vertices in the
|
||
|
currently iterated connected component; <tt>false</tt> otherwise.</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
<tr class="rowColor">
|
||
|
<td class="colFirst"><code>protected <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a></code></td>
|
||
|
<td class="colLast"><code><strong><a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html#provideNextVertex()">provideNextVertex</a></strong>()</code>
|
||
|
<div class="block">Returns the vertex to be returned in the following call to the iterator
|
||
|
<code>next</code> method.</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList"><a name="methods_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<h3>Methods inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a></h3>
|
||
|
<code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#finishVertex(V)">finishVertex</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#getGraph()">getGraph</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#getSeenData(V)">getSeenData</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#hasNext()">hasNext</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isSeenVertex(java.lang.Object)">isSeenVertex</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#next()">next</a>, <a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#putSeenData(V,%20D)">putSeenData</a></code></li>
|
||
|
</ul>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList"><a name="methods_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<h3>Methods inherited from class org.jgrapht.traverse.<a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html" title="class in org.jgrapht.traverse">AbstractGraphIterator</a></h3>
|
||
|
<code><a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#addTraversalListener(org.jgrapht.event.TraversalListener)">addTraversalListener</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireConnectedComponentFinished(org.jgrapht.event.ConnectedComponentTraversalEvent)">fireConnectedComponentFinished</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireConnectedComponentStarted(org.jgrapht.event.ConnectedComponentTraversalEvent)">fireConnectedComponentStarted</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireEdgeTraversed(org.jgrapht.event.EdgeTraversalEvent)">fireEdgeTraversed</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireVertexFinished(org.jgrapht.event.VertexTraversalEvent)">fireVertexFinished</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#fireVertexTraversed(org.jgrapht.event.VertexTraversalEvent)">fireVertexTraversed</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#isCrossComponentTraversal()">isCrossComponentTraversal</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#isReuseEvents()">isReuseEvents</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#remove()">remove</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#removeTraversalListener(org.jgrapht.event.TraversalListener)">removeTraversalListener</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#setCrossComponentTraversal(boolean)">setCrossComponentTraversal</a>, <a href="../../../org/jgrapht/traverse/AbstractGraphIterator.html#setReuseEvents(boolean)">setReuseEvents</a></code></li>
|
||
|
</ul>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<h3>Methods inherited from class 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="TopologicalOrderIterator(org.jgrapht.DirectedGraph)">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList">
|
||
|
<h4>TopologicalOrderIterator</h4>
|
||
|
<pre>public TopologicalOrderIterator(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg)</pre>
|
||
|
<div class="block">Creates a new topological order iterator over the directed graph
|
||
|
specified, with arbitrary tie-breaking in case of partial order.
|
||
|
Traversal will start at one of the graph's <i>sources</i>. See the
|
||
|
definition of source at <a
|
||
|
href="http://mathworld.wolfram.com/Source.html">
|
||
|
http://mathworld.wolfram.com/Source.html</a>.</div>
|
||
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dg</code> - the directed graph to be iterated.</dd></dl>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<a name="TopologicalOrderIterator(org.jgrapht.DirectedGraph, java.util.Queue)">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<ul class="blockListLast">
|
||
|
<li class="blockList">
|
||
|
<h4>TopologicalOrderIterator</h4>
|
||
|
<pre>public TopologicalOrderIterator(<a href="../../../org/jgrapht/DirectedGraph.html" title="interface in org.jgrapht">DirectedGraph</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>> dg,
|
||
|
<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html?is-external=true" title="class or interface in java.util">Queue</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>> queue)</pre>
|
||
|
<div class="block">Creates a new topological order iterator over the directed graph
|
||
|
specified, with a user-supplied queue implementation to allow customized
|
||
|
control over tie-breaking in case of partial order. Traversal will start
|
||
|
at one of the graph's <i>sources</i>. See the definition of source at <a
|
||
|
href="http://mathworld.wolfram.com/Source.html">
|
||
|
http://mathworld.wolfram.com/Source.html</a>.</div>
|
||
|
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>dg</code> - the directed graph to be iterated.</dd><dd><code>queue</code> - queue to use for tie-break in case of partial order (e.g. a
|
||
|
PriorityQueue can be used to break ties according to vertex priority);
|
||
|
must be initially empty</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="isConnectedComponentExhausted()">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList">
|
||
|
<h4>isConnectedComponentExhausted</h4>
|
||
|
<pre>protected boolean isConnectedComponentExhausted()</pre>
|
||
|
<div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isConnectedComponentExhausted()">CrossComponentIterator</a></code></strong></div>
|
||
|
<div class="block">Returns <tt>true</tt> if there are no more uniterated vertices in the
|
||
|
currently iterated connected component; <tt>false</tt> otherwise.</div>
|
||
|
<dl>
|
||
|
<dt><strong>Specified by:</strong></dt>
|
||
|
<dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isConnectedComponentExhausted()">isConnectedComponentExhausted</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<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>></code></dd>
|
||
|
<dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if there are no more uniterated vertices in the
|
||
|
currently iterated connected component; <tt>false</tt> otherwise.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#isConnectedComponentExhausted()"><code>CrossComponentIterator.isConnectedComponentExhausted()</code></a></dd></dl>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<a name="encounterVertex(java.lang.Object,java.lang.Object)">
|
||
|
<!-- -->
|
||
|
</a><a name="encounterVertex(V, E)">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList">
|
||
|
<h4>encounterVertex</h4>
|
||
|
<pre>protected void encounterVertex(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex,
|
||
|
<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</pre>
|
||
|
<div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertex(V,%20E)">CrossComponentIterator</a></code></strong></div>
|
||
|
<div class="block">Update data structures the first time we see a vertex.</div>
|
||
|
<dl>
|
||
|
<dt><strong>Specified by:</strong></dt>
|
||
|
<dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertex(V,%20E)">encounterVertex</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<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>></code></dd>
|
||
|
<dt><span class="strong">Parameters:</span></dt><dd><code>vertex</code> - the vertex encountered</dd><dd><code>edge</code> - the edge via which the vertex was encountered, or null if the
|
||
|
vertex is a starting point</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertex(V,%20E)"><code>CrossComponentIterator.encounterVertex(Object, Object)</code></a></dd></dl>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<a name="encounterVertexAgain(java.lang.Object,java.lang.Object)">
|
||
|
<!-- -->
|
||
|
</a><a name="encounterVertexAgain(V, E)">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<ul class="blockList">
|
||
|
<li class="blockList">
|
||
|
<h4>encounterVertexAgain</h4>
|
||
|
<pre>protected void encounterVertexAgain(<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> vertex,
|
||
|
<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a> edge)</pre>
|
||
|
<div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertexAgain(V,%20E)">CrossComponentIterator</a></code></strong></div>
|
||
|
<div class="block">Called whenever we re-encounter a vertex. The default implementation does
|
||
|
nothing.</div>
|
||
|
<dl>
|
||
|
<dt><strong>Specified by:</strong></dt>
|
||
|
<dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertexAgain(V,%20E)">encounterVertexAgain</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<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>></code></dd>
|
||
|
<dt><span class="strong">Parameters:</span></dt><dd><code>vertex</code> - the vertex re-encountered</dd><dd><code>edge</code> - the edge via which the vertex was re-encountered</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#encounterVertexAgain(V,%20E)"><code>CrossComponentIterator.encounterVertexAgain(Object, Object)</code></a></dd></dl>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<a name="provideNextVertex()">
|
||
|
<!-- -->
|
||
|
</a>
|
||
|
<ul class="blockListLast">
|
||
|
<li class="blockList">
|
||
|
<h4>provideNextVertex</h4>
|
||
|
<pre>protected <a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a> provideNextVertex()</pre>
|
||
|
<div class="block"><strong>Description copied from class: <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#provideNextVertex()">CrossComponentIterator</a></code></strong></div>
|
||
|
<div class="block">Returns the vertex to be returned in the following call to the iterator
|
||
|
<code>next</code> method.</div>
|
||
|
<dl>
|
||
|
<dt><strong>Specified by:</strong></dt>
|
||
|
<dd><code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#provideNextVertex()">provideNextVertex</a></code> in class <code><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html" title="class in org.jgrapht.traverse">CrossComponentIterator</a><<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">V</a>,<a href="../../../org/jgrapht/traverse/TopologicalOrderIterator.html" title="type parameter in TopologicalOrderIterator">E</a>,<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>></code></dd>
|
||
|
<dt><span class="strong">Returns:</span></dt><dd>the next vertex to be returned by this iterator.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../org/jgrapht/traverse/CrossComponentIterator.html#provideNextVertex()"><code>CrossComponentIterator.provideNextVertex()</code></a></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/TopologicalOrderIterator.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/traverse/GraphIterator.html" title="interface in org.jgrapht.traverse"><span class="strong">Prev Class</span></a></li>
|
||
|
<li>Next Class</li>
|
||
|
</ul>
|
||
|
<ul class="navList">
|
||
|
<li><a href="../../../index.html?org/jgrapht/traverse/TopologicalOrderIterator.html" target="_top">Frames</a></li>
|
||
|
<li><a href="TopologicalOrderIterator.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: </li>
|
||
|
<li><a href="#nested_classes_inherited_from_class_org.jgrapht.traverse.CrossComponentIterator">Nested</a> | </li>
|
||
|
<li><a href="#fields_inherited_from_class_org.jgrapht.traverse.AbstractGraphIterator">Field</a> | </li>
|
||
|
<li><a href="#constructor_summary">Constr</a> | </li>
|
||
|
<li><a href="#method_summary">Method</a></li>
|
||
|
</ul>
|
||
|
<ul class="subNavList">
|
||
|
<li>Detail: </li>
|
||
|
<li>Field | </li>
|
||
|
<li><a href="#constructor_detail">Constr</a> | </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 © 2016. All rights reserved.</small></p>
|
||
|
</body>
|
||
|
</html>
|