maxGraph/java/docs/com/mxgraph/analysis/mxFibonacciHeap.html

628 lines
29 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_51) on Mon Jan 05 08:57:41 EST 2015 -->
<title>mxFibonacciHeap (mxGraph 3.1.2.1 API Specification)</title>
<meta name="date" content="2015-01-05">
<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="mxFibonacciHeap (mxGraph 3.1.2.1 API Specification)";
}
//-->
</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/mxFibonacciHeap.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 class="aboutLanguage"><em><p><b>mxGraph 3.1.2.1</b></p></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/mxgraph/analysis/mxDistanceCostFunction.html" title="class in com.mxgraph.analysis"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/mxgraph/analysis/mxFibonacciHeap.html" target="_top">Frames</a></li>
<li><a href="mxFibonacciHeap.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><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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">com.mxgraph.analysis</div>
<h2 title="Class mxFibonacciHeap" class="title">Class mxFibonacciHeap</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://download.oracle.com/javase/1.5.0/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>com.mxgraph.analysis.mxFibonacciHeap</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="strong">mxFibonacciHeap</span>
extends <a href="http://download.oracle.com/javase/1.5.0/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 priority queue.</div>
</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>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a></strong></code>
<div class="block">Implements a node of the Fibonacci heap.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#min">min</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#nodes">nodes</a></strong></code>
<div class="block">Maps from elements to nodes</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#size">size</a></strong></code>&nbsp;</td>
</tr>
</table>
</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">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#mxFibonacciHeap()">mxFibonacciHeap</a></strong>()</code>&nbsp;</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="../../../com/mxgraph/analysis/mxFibonacciHeap.html#cascadingCut(com.mxgraph.analysis.mxFibonacciHeap.Node)">cascadingCut</a></strong>(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&nbsp;y)</code>
<div class="block">Performs a cascading cut operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#consolidate()">consolidate</a></strong>()</code>
<div class="block">Consolidates the trees in the heap by joining trees of equal degree until
there are no more trees of equal degree in the root list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#cut(com.mxgraph.analysis.mxFibonacciHeap.Node, com.mxgraph.analysis.mxFibonacciHeap.Node)">cut</a></strong>(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&nbsp;x,
<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#decreaseKey(com.mxgraph.analysis.mxFibonacciHeap.Node, double)">decreaseKey</a></strong>(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#delete(com.mxgraph.analysis.mxFibonacciHeap.Node)">delete</a></strong>(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&nbsp;x)</code>
<div class="block">Deletes a node from the heap given the reference to the node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#getNode(java.lang.Object, boolean)">getNode</a></strong>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;element,
boolean&nbsp;create)</code>
<div class="block">Returns the node that represents element.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#insert(com.mxgraph.analysis.mxFibonacciHeap.Node, double)">insert</a></strong>(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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="../../../com/mxgraph/analysis/mxFibonacciHeap.html#isEmpty()">isEmpty</a></strong>()</code>
<div class="block">Returns true if the queue is empty.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#link(com.mxgraph.analysis.mxFibonacciHeap.Node, com.mxgraph.analysis.mxFibonacciHeap.Node)">link</a></strong>(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&nbsp;y,
<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.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="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.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="../../../com/mxgraph/analysis/mxFibonacciHeap.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>static <a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html" title="class in com.mxgraph.analysis">mxFibonacciHeap</a></code></td>
<td class="colLast"><code><strong><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html#union(com.mxgraph.analysis.mxFibonacciHeap, com.mxgraph.analysis.mxFibonacciHeap)">union</a></strong>(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html" title="class in com.mxgraph.analysis">mxFibonacciHeap</a>&nbsp;h1,
<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html" title="class in com.mxgraph.analysis">mxFibonacciHeap</a>&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://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://download.oracle.com/javase/1.5.0/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://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" 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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="nodes">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nodes</h4>
<pre>protected&nbsp;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>,<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&gt; nodes</pre>
<div class="block">Maps from elements to nodes</div>
</li>
</ul>
<a name="min">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>min</h4>
<pre>protected&nbsp;<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a> min</pre>
</li>
</ul>
<a name="size">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>size</h4>
<pre>protected&nbsp;int size</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="mxFibonacciHeap()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>mxFibonacciHeap</h4>
<pre>public&nbsp;mxFibonacciHeap()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getNode(java.lang.Object, boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNode</h4>
<pre>public&nbsp;<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&nbsp;getNode(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;element,
boolean&nbsp;create)</pre>
<div class="block">Returns the node that represents element.</div>
</li>
</ul>
<a name="isEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block">Returns true if the queue is empty.</div>
</li>
</ul>
<a name="decreaseKey(com.mxgraph.analysis.mxFibonacciHeap.Node, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decreaseKey</h4>
<pre>public&nbsp;void&nbsp;decreaseKey(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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 whose value should be decreased.</dd><dd><code>k</code> - New key value for node x.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/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(com.mxgraph.analysis.mxFibonacciHeap.Node)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre>public&nbsp;void&nbsp;delete(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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> - The node to remove from the heap.</dd></dl>
</li>
</ul>
<a name="insert(com.mxgraph.analysis.mxFibonacciHeap.Node, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>insert</h4>
<pre>public&nbsp;void&nbsp;insert(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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>Returns the 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="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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.
Does not remove the data node so that the current key remains stored.
<p>
Running time: O(log n) amortized
</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the 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>Returns the number of elements in the heap.</dd></dl>
</li>
</ul>
<a name="union(com.mxgraph.analysis.mxFibonacciHeap, com.mxgraph.analysis.mxFibonacciHeap)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>union</h4>
<pre>public static&nbsp;<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html" title="class in com.mxgraph.analysis">mxFibonacciHeap</a>&nbsp;union(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html" title="class in com.mxgraph.analysis">mxFibonacciHeap</a>&nbsp;h1,
<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.html" title="class in com.mxgraph.analysis">mxFibonacciHeap</a>&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> - The first heap.</dd><dd><code>h2</code> - The second heap.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Returns a new heap containing h1 and h2.</dd></dl>
</li>
</ul>
<a name="cascadingCut(com.mxgraph.analysis.mxFibonacciHeap.Node)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cascadingCut</h4>
<pre>protected&nbsp;void&nbsp;cascadingCut(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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> - The 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>
<div class="block">Consolidates the trees in the heap by joining trees of equal degree until
there are no more trees of equal degree in the root list.
<p>
Running time: O(log n) amortized
</p></div>
</li>
</ul>
<a name="cut(com.mxgraph.analysis.mxFibonacciHeap.Node, com.mxgraph.analysis.mxFibonacciHeap.Node)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cut</h4>
<pre>protected&nbsp;void&nbsp;cut(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&nbsp;x,
<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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> - The child of y to be removed from y's child list.</dd><dd><code>y</code> - The parent of x about to lose a child.</dd></dl>
</li>
</ul>
<a name="link(com.mxgraph.analysis.mxFibonacciHeap.Node, com.mxgraph.analysis.mxFibonacciHeap.Node)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>link</h4>
<pre>protected&nbsp;void&nbsp;link(<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&nbsp;y,
<a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis">mxFibonacciHeap.Node</a>&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> - The node to become child.</dd><dd><code>x</code> - The 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/mxFibonacciHeap.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 class="aboutLanguage"><em><p><b>mxGraph 3.1.2.1</b></p></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../com/mxgraph/analysis/mxDistanceCostFunction.html" title="class in com.mxgraph.analysis"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../com/mxgraph/analysis/mxFibonacciHeap.Node.html" title="class in com.mxgraph.analysis"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?com/mxgraph/analysis/mxFibonacciHeap.html" target="_top">Frames</a></li>
<li><a href="mxFibonacciHeap.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><a href="#nested_class_summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&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><a href="#field_detail">Field</a>&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><font size=1>Copyright (c) 2010 <a href="http://www.mxgraph.com/"
target="_blank">Gaudenz Alder, David Benson</a>. All rights reserved.</font></small></p>
</body>
</html>