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
		
	
<!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>
 |