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.
		
		
		
		
		
			
		
			
	
	
		
			267 Zeilen
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
		
		
			
		
	
	
			267 Zeilen
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
| 
								 
											vor 9 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>org.jgrapht.alg.cycle (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="org.jgrapht.alg.cycle (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 class="navBarCell1Rev">Package</li>
							 | 
						||
| 
								 | 
							
								<li>Class</li>
							 | 
						||
| 
								 | 
							
								<li><a href="package-use.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/package-summary.html">Prev Package</a></li>
							 | 
						||
| 
								 | 
							
								<li><a href="../../../../org/jgrapht/alg/flow/package-summary.html">Next Package</a></li>
							 | 
						||
| 
								 | 
							
								</ul>
							 | 
						||
| 
								 | 
							
								<ul class="navList">
							 | 
						||
| 
								 | 
							
								<li><a href="../../../../index.html?org/jgrapht/alg/cycle/package-summary.html" target="_top">Frames</a></li>
							 | 
						||
| 
								 | 
							
								<li><a href="package-summary.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>
							 | 
						||
| 
								 | 
							
								<a name="skip-navbar_top">
							 | 
						||
| 
								 | 
							
								<!--   -->
							 | 
						||
| 
								 | 
							
								</a></div>
							 | 
						||
| 
								 | 
							
								<!-- ========= END OF TOP NAVBAR ========= -->
							 | 
						||
| 
								 | 
							
								<div class="header">
							 | 
						||
| 
								 | 
							
								<h1 title="Package" class="title">Package org.jgrapht.alg.cycle</h1>
							 | 
						||
| 
								 | 
							
								<div class="docSummary">
							 | 
						||
| 
								 | 
							
								<div class="block">Algorithms for enumeration of simple cycles in graphs.</div>
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								<p>See: <a href="#package_description">Description</a></p>
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								<div class="contentContainer">
							 | 
						||
| 
								 | 
							
								<ul class="blockList">
							 | 
						||
| 
								 | 
							
								<li class="blockList">
							 | 
						||
| 
								 | 
							
								<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
							 | 
						||
| 
								 | 
							
								<caption><span>Interface Summary</span><span class="tabEnd"> </span></caption>
							 | 
						||
| 
								 | 
							
								<tr>
							 | 
						||
| 
								 | 
							
								<th class="colFirst" scope="col">Interface</th>
							 | 
						||
| 
								 | 
							
								<th class="colLast" scope="col">Description</th>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tbody>
							 | 
						||
| 
								 | 
							
								<tr class="altColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/DirectedSimpleCycles.html" title="interface in org.jgrapht.alg.cycle">DirectedSimpleCycles</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">A common interface for classes implementing algorithms for enumeration of the
							 | 
						||
| 
								 | 
							
								 simple cycles of a directed graph.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tr class="rowColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/UndirectedCycleBase.html" title="interface in org.jgrapht.alg.cycle">UndirectedCycleBase</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">A common interface for classes implementing algorithms for finding a cycle
							 | 
						||
| 
								 | 
							
								 base of an undirected graph.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								</tbody>
							 | 
						||
| 
								 | 
							
								</table>
							 | 
						||
| 
								 | 
							
								</li>
							 | 
						||
| 
								 | 
							
								<li class="blockList">
							 | 
						||
| 
								 | 
							
								<table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
							 | 
						||
| 
								 | 
							
								<caption><span>Class Summary</span><span class="tabEnd"> </span></caption>
							 | 
						||
| 
								 | 
							
								<tr>
							 | 
						||
| 
								 | 
							
								<th class="colFirst" scope="col">Class</th>
							 | 
						||
| 
								 | 
							
								<th class="colLast" scope="col">Description</th>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tbody>
							 | 
						||
| 
								 | 
							
								<tr class="altColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/HawickJamesSimpleCycles.html" title="class in org.jgrapht.alg.cycle">HawickJamesSimpleCycles</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">Find all simple cycles of a directed graph using the algorithm described by
							 | 
						||
| 
								 | 
							
								 Hawick and James.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tr class="rowColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/JohnsonSimpleCycles.html" title="class in org.jgrapht.alg.cycle">JohnsonSimpleCycles</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">Find all simple cycles of a directed graph using the Johnson's algorithm.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tr class="altColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/PatonCycleBase.html" title="class in org.jgrapht.alg.cycle">PatonCycleBase</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">Find a cycle base of an undirected graph using the Paton's algorithm.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tr class="rowColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/SzwarcfiterLauerSimpleCycles.html" title="class in org.jgrapht.alg.cycle">SzwarcfiterLauerSimpleCycles</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">Find all simple cycles of a directed graph using the Schwarcfiter and Lauer's
							 | 
						||
| 
								 | 
							
								 algorithm.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tr class="altColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/TarjanSimpleCycles.html" title="class in org.jgrapht.alg.cycle">TarjanSimpleCycles</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">Find all simple cycles of a directed graph using the Tarjan's algorithm.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								<tr class="rowColor">
							 | 
						||
| 
								 | 
							
								<td class="colFirst"><a href="../../../../org/jgrapht/alg/cycle/TiernanSimpleCycles.html" title="class in org.jgrapht.alg.cycle">TiernanSimpleCycles</a><V,E></td>
							 | 
						||
| 
								 | 
							
								<td class="colLast">
							 | 
						||
| 
								 | 
							
								<div class="block">Find all simple cycles of a directed graph using the Tiernan's algorithm.</div>
							 | 
						||
| 
								 | 
							
								</td>
							 | 
						||
| 
								 | 
							
								</tr>
							 | 
						||
| 
								 | 
							
								</tbody>
							 | 
						||
| 
								 | 
							
								</table>
							 | 
						||
| 
								 | 
							
								</li>
							 | 
						||
| 
								 | 
							
								</ul>
							 | 
						||
| 
								 | 
							
								<a name="package_description">
							 | 
						||
| 
								 | 
							
								<!--   -->
							 | 
						||
| 
								 | 
							
								</a>
							 | 
						||
| 
								 | 
							
								<h2 title="Package org.jgrapht.alg.cycle Description">Package org.jgrapht.alg.cycle Description</h2>
							 | 
						||
| 
								 | 
							
								<div class="block"><p>Algorithms for enumeration of simple cycles in graphs.</p>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <b>Implementation Note:</b><p> All the implementations work correctly
							 | 
						||
| 
								 | 
							
								    with loops but not with multiple duplicate edges.
							 | 
						||
| 
								 | 
							
								    </p>
							 | 
						||
| 
								 | 
							
								        <b>Performance Notes:</b>
							 | 
						||
| 
								 | 
							
								    <p>     The worst case time complexity of
							 | 
						||
| 
								 | 
							
								        the algorithms for finding cycles in directed graphs is:
							 | 
						||
| 
								 | 
							
								    <ol>
							 | 
						||
| 
								 | 
							
								        <li>Tiernan - O(V.const^V)</li>
							 | 
						||
| 
								 | 
							
								        <li>Tarjan - O(VEC)</li>
							 | 
						||
| 
								 | 
							
								        <li>Johnson - O(((V+E)C)</li>
							 | 
						||
| 
								 | 
							
								        <li>Szwarcfiter and Lauer - O(V+EC)</li>
							 | 
						||
| 
								 | 
							
								    </ol>
							 | 
						||
| 
								 | 
							
								    where V is the number of vertices, E is the number of edges and C is
							 | 
						||
| 
								 | 
							
								    the number of the simple cycles in the graph.
							 | 
						||
| 
								 | 
							
								    </p>
							 | 
						||
| 
								 | 
							
								    <p>     The worst case performance is
							 | 
						||
| 
								 | 
							
								        achieved for graphs with special structure, so on practical
							 | 
						||
| 
								 | 
							
								        workloads an algorithm with higher worst case complexity may
							 | 
						||
| 
								 | 
							
								        outperform an algorithm with lower worst case complexity. Note
							 | 
						||
| 
								 | 
							
								        also that "administrative costs" of algorithms with better worst
							 | 
						||
| 
								 | 
							
								        case performance are higher. Also higher is their memory cost
							 | 
						||
| 
								 | 
							
								        (which is in all cases O(V+E)).</p>
							 | 
						||
| 
								 | 
							
								    <p>     The package author's workloads
							 | 
						||
| 
								 | 
							
								        contain typically several hundred nodes and from tens to several
							 | 
						||
| 
								 | 
							
								        thousand simple cycles. On these workloads the algorithms score
							 | 
						||
| 
								 | 
							
								        by performance (best to worst ) so :
							 | 
						||
| 
								 | 
							
								    <ol>
							 | 
						||
| 
								 | 
							
								        <li>Szwarcfiter and Lauer</li>
							 | 
						||
| 
								 | 
							
								        <li>Tarjan</li>
							 | 
						||
| 
								 | 
							
								        <li>Johnson</li>
							 | 
						||
| 
								 | 
							
								        <li>Tiernan</li>
							 | 
						||
| 
								 | 
							
								    </ol>
							 | 
						||
| 
								 | 
							
								        The worst case time complexity of the
							 | 
						||
| 
								 | 
							
								    Paton's algorithm for finding a cycle base in undirected graphs 
							 | 
						||
| 
								 | 
							
								    is O(V^3)
							 | 
						||
| 
								 | 
							
								    </p>
							 | 
						||
| 
								 | 
							
								    <b>Literature:</b>
							 | 
						||
| 
								 | 
							
								    <br>
							 | 
						||
| 
								 | 
							
								    <ol>
							 | 
						||
| 
								 | 
							
								        <li>J.C.Tiernan An Efficient Search Algorithm Find the
							 | 
						||
| 
								 | 
							
								            Elementary Circuits of a Graph., Communications of the ACM,
							 | 
						||
| 
								 | 
							
								            V13, 12, (1970), pp. 722 - 726.</li>
							 | 
						||
| 
								 | 
							
								        <li>R.Tarjan, Depth-first search and linear graph
							 | 
						||
| 
								 | 
							
								            algorithms., SIAM J. Comput. 1 (1972), pp. 146-160.</li>
							 | 
						||
| 
								 | 
							
								        <li>R. Tarjan, Enumeration of the elementary circuits of a
							 | 
						||
| 
								 | 
							
								            directed graph, SIAM J. Comput., 2 (1973), pp. 211-216.</li>
							 | 
						||
| 
								 | 
							
								        <li>D.B.Johnson, Finding all the elementary circuits of a
							 | 
						||
| 
								 | 
							
								            directed graph, SIAM J. Comput., 4 (1975), pp. 77-84.</li>
							 | 
						||
| 
								 | 
							
								        <li>J.L.Szwarcfiter and P.E.Lauer, Finding the elementary
							 | 
						||
| 
								 | 
							
								            cycles of a directed graph in O(n + m) per cycle, Technical
							 | 
						||
| 
								 | 
							
								            Report Series, #60, May 1974, Univ. of Newcastle upon Tyne,
							 | 
						||
| 
								 | 
							
								            Newcastle upon Tyne, England.</li>
							 | 
						||
| 
								 | 
							
								        <li>P.Mateti and N.Deo, On algorithms for enumerating all
							 | 
						||
| 
								 | 
							
								            circuits of a graph., SIAM J. Comput., 5 (1978), pp. 90-99.</li>
							 | 
						||
| 
								 | 
							
								        <li>L.G.Bezem and J.van Leeuwen, Enumeration in graphs.,
							 | 
						||
| 
								 | 
							
								            Technical report RUU-CS-87-7, University of Utrecht, The
							 | 
						||
| 
								 | 
							
								            Netherlands, 1987.</li>
							 | 
						||
| 
								 | 
							
								        <li>K. Paton, An algorithm for finding a fundamental set of
							 | 
						||
| 
								 | 
							
								            cycles for an undirected linear graph, Comm. ACM 12 (1969),
							 | 
						||
| 
								 | 
							
								            pp. 514-518.</li>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    </ol></div>
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								<!-- ======= 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 class="navBarCell1Rev">Package</li>
							 | 
						||
| 
								 | 
							
								<li>Class</li>
							 | 
						||
| 
								 | 
							
								<li><a href="package-use.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/package-summary.html">Prev Package</a></li>
							 | 
						||
| 
								 | 
							
								<li><a href="../../../../org/jgrapht/alg/flow/package-summary.html">Next Package</a></li>
							 | 
						||
| 
								 | 
							
								</ul>
							 | 
						||
| 
								 | 
							
								<ul class="navList">
							 | 
						||
| 
								 | 
							
								<li><a href="../../../../index.html?org/jgrapht/alg/cycle/package-summary.html" target="_top">Frames</a></li>
							 | 
						||
| 
								 | 
							
								<li><a href="package-summary.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>
							 | 
						||
| 
								 | 
							
								<a name="skip-navbar_bottom">
							 | 
						||
| 
								 | 
							
								<!--   -->
							 | 
						||
| 
								 | 
							
								</a></div>
							 | 
						||
| 
								 | 
							
								<!-- ======== END OF BOTTOM NAVBAR ======= -->
							 | 
						||
| 
								 | 
							
								<p class="legalCopy"><small>Copyright © 2016. All rights reserved.</small></p>
							 | 
						||
| 
								 | 
							
								</body>
							 | 
						||
| 
								 | 
							
								</html>
							 |