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