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.

556 Zeilen
28 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>FibonacciHeap (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="FibonacciHeap (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/FibonacciHeap.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/util/ArrayUnenforcedSet.html" title="class in org.jgrapht.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/jgrapht/util/FibonacciHeap.html" target="_top">Frames</a></li>
<li><a href="FibonacciHeap.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.util</div>
<h2 title="Class FibonacciHeap" class="title">Class FibonacciHeap&lt;T&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.util.FibonacciHeap&lt;T&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">FibonacciHeap&lt;T&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">This class implements a Fibonacci heap data structure. Much of the code in
this class is based on the algorithms in the "Introduction to Algorithms"by
Cormen, Leiserson, and Rivest in Chapter 21. The amortized running time of
most of these methods is O(1), making it a very fast data structure. Several
have an actual running time of O(1). removeMin() and delete() have O(log n)
amortized running times because they do the heap consolidation. If you
attempt to store nodes in this heap with key values of -Infinity
(Double.NEGATIVE_INFINITY) the <code>delete()</code> operation may fail to
remove the correct element.
<p><b>Note that this implementation is not synchronized.</b> If multiple
threads access a set concurrently, and at least one of the threads modifies
the set, it <i>must</i> be synchronized externally. This is typically
accomplished by synchronizing on some object that naturally encapsulates the
set.</p>
<p>This class was originally developed by Nathan Fiedler for the GraphMaker
project. It was imported to JGraphT with permission, courtesy of Nathan
Fiedler.</p></div>
<dl><dt><span class="strong">Author:</span></dt>
<dd>Nathan Fiedler</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/util/FibonacciHeap.html#FibonacciHeap()">FibonacciHeap</a></strong>()</code>
<div class="block">Constructs a FibonacciHeap object that contains no elements.</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>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#cascadingCut(org.jgrapht.util.FibonacciHeapNode)">cascadingCut</a></strong>(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;y)</code>
<div class="block">Performs a cascading cut operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#clear()">clear</a></strong>()</code>
<div class="block">Removes all elements from this heap.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#consolidate()">consolidate</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#cut(org.jgrapht.util.FibonacciHeapNode,%20org.jgrapht.util.FibonacciHeapNode)">cut</a></strong>(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x,
<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;y)</code>
<div class="block">The reverse of the link operation: removes x from the child list of y.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#decreaseKey(org.jgrapht.util.FibonacciHeapNode,%20double)">decreaseKey</a></strong>(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x,
double&nbsp;k)</code>
<div class="block">Decreases the key value for a heap node, given the new value to take on.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#delete(org.jgrapht.util.FibonacciHeapNode)">delete</a></strong>(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x)</code>
<div class="block">Deletes a node from the heap given the reference to the node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#insert(org.jgrapht.util.FibonacciHeapNode,%20double)">insert</a></strong>(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;node,
double&nbsp;key)</code>
<div class="block">Inserts a new data element into the heap.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#isEmpty()">isEmpty</a></strong>()</code>
<div class="block">Tests if the Fibonacci heap is empty or not.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#link(org.jgrapht.util.FibonacciHeapNode,%20org.jgrapht.util.FibonacciHeapNode)">link</a></strong>(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;y,
<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x)</code>
<div class="block">Make node y a child of node x.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#min()">min</a></strong>()</code>
<div class="block">Returns the smallest element in the heap.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#removeMin()">removeMin</a></strong>()</code>
<div class="block">Removes the smallest element from the heap.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#size()">size</a></strong>()</code>
<div class="block">Returns the size of the heap which is measured in the number of elements
contained in the heap.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#toString()">toString</a></strong>()</code>
<div class="block">Creates a String representation of this Fibonacci heap.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="class in org.jgrapht.util">FibonacciHeap</a>&lt;T&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../org/jgrapht/util/FibonacciHeap.html#union(org.jgrapht.util.FibonacciHeap,%20org.jgrapht.util.FibonacciHeap)">union</a></strong>(<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="class in org.jgrapht.util">FibonacciHeap</a>&lt;T&gt;&nbsp;h1,
<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="class in org.jgrapht.util">FibonacciHeap</a>&lt;T&gt;&nbsp;h2)</code>
<div class="block">Joins two Fibonacci heaps into a new one.</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#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="FibonacciHeap()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>FibonacciHeap</h4>
<pre>public&nbsp;FibonacciHeap()</pre>
<div class="block">Constructs a FibonacciHeap object that contains no elements.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block">Tests if the Fibonacci heap is empty or not. Returns true if the heap is
empty, false otherwise.
<p>Running time: O(1) actual</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if the heap is empty, false otherwise</dd></dl>
</li>
</ul>
<a name="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<div class="block">Removes all elements from this heap.</div>
</li>
</ul>
<a name="decreaseKey(org.jgrapht.util.FibonacciHeapNode, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decreaseKey</h4>
<pre>public&nbsp;void&nbsp;decreaseKey(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x,
double&nbsp;k)</pre>
<div class="block">Decreases the key value for a heap node, given the new value to take on.
The structure of the heap may be changed and will not be consolidated.
<p>Running time: O(1) amortized</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - node to decrease the key of</dd><dd><code>k</code> - new key value for node x</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - Thrown if k is larger than x.key
value.</dd></dl>
</li>
</ul>
<a name="delete(org.jgrapht.util.FibonacciHeapNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre>public&nbsp;void&nbsp;delete(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x)</pre>
<div class="block">Deletes a node from the heap given the reference to the node. The trees
in the heap will be consolidated, if necessary. This operation may fail
to remove the correct element if there are nodes with key value
-Infinity.
<p>Running time: O(log n) amortized</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - node to remove from heap</dd></dl>
</li>
</ul>
<a name="insert(org.jgrapht.util.FibonacciHeapNode, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>insert</h4>
<pre>public&nbsp;void&nbsp;insert(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;node,
double&nbsp;key)</pre>
<div class="block">Inserts a new data element into the heap. No heap consolidation is
performed at this time, the new node is simply inserted into the root
list of this heap.
<p>Running time: O(1) actual</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>node</code> - new node to insert into heap</dd><dd><code>key</code> - key value associated with data object</dd></dl>
</li>
</ul>
<a name="min()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>min</h4>
<pre>public&nbsp;<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;min()</pre>
<div class="block">Returns the smallest element in the heap. This smallest element is the
one with the minimum key value.
<p>Running time: O(1) actual</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>heap node with the smallest key</dd></dl>
</li>
</ul>
<a name="removeMin()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeMin</h4>
<pre>public&nbsp;<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;removeMin()</pre>
<div class="block">Removes the smallest element from the heap. This will cause the trees in
the heap to be consolidated, if necessary.
<p>Running time: O(log n) amortized</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>node with the smallest key</dd></dl>
</li>
</ul>
<a name="size()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre>public&nbsp;int&nbsp;size()</pre>
<div class="block">Returns the size of the heap which is measured in the number of elements
contained in the heap.
<p>Running time: O(1) actual</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>number of elements in the heap</dd></dl>
</li>
</ul>
<a name="union(org.jgrapht.util.FibonacciHeap, org.jgrapht.util.FibonacciHeap)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>union</h4>
<pre>public static&nbsp;&lt;T&gt;&nbsp;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="class in org.jgrapht.util">FibonacciHeap</a>&lt;T&gt;&nbsp;union(<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="class in org.jgrapht.util">FibonacciHeap</a>&lt;T&gt;&nbsp;h1,
<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="class in org.jgrapht.util">FibonacciHeap</a>&lt;T&gt;&nbsp;h2)</pre>
<div class="block">Joins two Fibonacci heaps into a new one. No heap consolidation is
performed at this time. The two root lists are simply joined together.
<p>Running time: O(1) actual</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>h1</code> - first heap</dd><dd><code>h2</code> - second heap</dd>
<dt><span class="strong">Returns:</span></dt><dd>new heap containing h1 and h2</dd></dl>
</li>
</ul>
<a name="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block">Creates a String representation of this Fibonacci heap.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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>String of this.</dd></dl>
</li>
</ul>
<a name="cascadingCut(org.jgrapht.util.FibonacciHeapNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cascadingCut</h4>
<pre>protected&nbsp;void&nbsp;cascadingCut(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;y)</pre>
<div class="block">Performs a cascading cut operation. This cuts y from its parent and then
does the same for its parent, and so on up the tree.
<p>Running time: O(log n); O(1) excluding the recursion</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>y</code> - node to perform cascading cut on</dd></dl>
</li>
</ul>
<a name="consolidate()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consolidate</h4>
<pre>protected&nbsp;void&nbsp;consolidate()</pre>
</li>
</ul>
<a name="cut(org.jgrapht.util.FibonacciHeapNode, org.jgrapht.util.FibonacciHeapNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cut</h4>
<pre>protected&nbsp;void&nbsp;cut(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x,
<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;y)</pre>
<div class="block">The reverse of the link operation: removes x from the child list of y.
This method assumes that min is non-null.
<p>Running time: O(1)</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>x</code> - child of y to be removed from y's child list</dd><dd><code>y</code> - parent of x about to lose a child</dd></dl>
</li>
</ul>
<a name="link(org.jgrapht.util.FibonacciHeapNode, org.jgrapht.util.FibonacciHeapNode)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>link</h4>
<pre>protected&nbsp;void&nbsp;link(<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;y,
<a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util">FibonacciHeapNode</a>&lt;<a href="../../../org/jgrapht/util/FibonacciHeap.html" title="type parameter in FibonacciHeap">T</a>&gt;&nbsp;x)</pre>
<div class="block">Make node y a child of node x.
<p>Running time: O(1) actual</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>y</code> - node to become child</dd><dd><code>x</code> - node to become parent</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/FibonacciHeap.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/util/ArrayUnenforcedSet.html" title="class in org.jgrapht.util"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../org/jgrapht/util/FibonacciHeapNode.html" title="class in org.jgrapht.util"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?org/jgrapht/util/FibonacciHeap.html" target="_top">Frames</a></li>
<li><a href="FibonacciHeap.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>