2012-05-21 20:32:26 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2014-04-01 11:30:48 +00:00
<!-- NewPage -->
< html lang = "en" >
< head >
2014-11-10 09:02:21 +00:00
<!-- Generated by javadoc (version 1.7.0_51) on Mon Nov 10 03:59:56 EST 2014 -->
< title > mxUnionFind (mxGraph 3.1.1.1 API Specification)< / title >
< meta name = "date" content = "2014-11-10" >
2014-04-01 11:30:48 +00:00
< link rel = "stylesheet" type = "text/css" href = "../../../stylesheet.css" title = "Style" >
< / head >
< body >
< script type = "text/javascript" > < ! - -
2012-05-21 20:32:26 +00:00
if (location.href.indexOf('is-external=true') == -1) {
2014-11-10 09:02:21 +00:00
parent.document.title="mxUnionFind (mxGraph 3.1.1.1 API Specification)";
2012-05-21 20:32:26 +00:00
}
2014-04-01 11:30:48 +00:00
//-->
< / script >
< noscript >
< div > JavaScript is disabled on your browser.< / div >
< / noscript >
2012-05-21 20:32:26 +00:00
<!-- ========= START OF TOP NAVBAR ======= -->
2014-04-01 11:30:48 +00:00
< 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/mxUnionFind.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 >
2014-11-10 09:02:21 +00:00
< div class = "aboutLanguage" > < em > < p > < b > mxGraph 3.1.1.1< / b > < / p > < / em > < / div >
2014-04-01 11:30:48 +00:00
< / div >
< div class = "subNav" >
< ul class = "navList" >
< li > < a href = "../../../com/mxgraph/analysis/mxTraversal.html" title = "class in com.mxgraph.analysis" > < span class = "strong" > Prev Class< / span > < / a > < / li >
< li > < a href = "../../../com/mxgraph/analysis/mxUnionFind.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/mxUnionFind.html" target = "_top" > Frames< / a > < / li >
< li > < a href = "mxUnionFind.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");
2012-05-21 20:32:26 +00:00
if(window==top) {
2014-04-01 11:30:48 +00:00
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
2012-05-21 20:32:26 +00:00
}
//-->
2014-04-01 11:30:48 +00:00
< / script >
< / div >
< div >
< ul class = "subNavList" >
< li > Summary: < / li >
< li > < a href = "#nested_class_summary" > Nested< / a > | < / li >
< li > < a href = "#field_summary" > Field< / a > | < / li >
< li > < a href = "#constructor_summary" > Constr< / a > | < / li >
< li > < a href = "#method_summary" > Method< / a > < / li >
< / ul >
< ul class = "subNavList" >
< li > Detail: < / li >
< li > < a href = "#field_detail" > Field< / a > | < / li >
< li > < a href = "#constructor_detail" > Constr< / a > | < / li >
< li > < a href = "#method_detail" > Method< / a > < / li >
< / ul >
< / div >
< a name = "skip-navbar_top" >
<!-- -->
< / a > < / div >
2012-05-21 20:32:26 +00:00
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
2014-04-01 11:30:48 +00:00
< div class = "header" >
< div class = "subTitle" > com.mxgraph.analysis< / div >
< h2 title = "Class mxUnionFind" class = "title" > Class mxUnionFind< / h2 >
< / div >
< div class = "contentContainer" >
< ul class = "inheritance" >
2014-11-10 09:02:21 +00:00
< li > java.lang.Object< / li >
2014-04-01 11:30:48 +00:00
< li >
< ul class = "inheritance" >
< li > com.mxgraph.analysis.mxUnionFind< / li >
< / ul >
< / li >
< / ul >
< div class = "description" >
< ul class = "blockList" >
< li class = "blockList" >
< hr >
< br >
< pre > public class < span class = "strong" > mxUnionFind< / span >
2014-11-10 09:02:21 +00:00
extends java.lang.Object< / pre >
2014-04-01 11:30:48 +00:00
< div class = "block" > Implements a union find structure that uses union by rank and path
2012-05-21 20:32:26 +00:00
compression. The union by rank guarantees worst case find time of O(log N),
while Tarjan shows that in combination with path compression (halving) the
average time for an arbitrary sequence of m >= n operations is
O(m*alpha(m,n)), where alpha is the inverse of the Ackermann function,
defined as follows:
< code > alpha(m,n) = min{i > = 1 | A(i, floor(m/n)) > log n} for m > = n > = 1< / code >
2014-04-01 11:30:48 +00:00
Which yields almost constant time for each individual operation.< / div >
< / li >
< / ul >
< / div >
< div class = "summary" >
< ul class = "blockList" >
< li class = "blockList" >
2012-05-21 20:32:26 +00:00
<!-- ======== NESTED CLASS SUMMARY ======== -->
2014-04-01 11:30:48 +00:00
< 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" > < / 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 > class < / code > < / td >
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > < / strong > < / code >
< div class = "block" > A class that defines the identity of a set.< / 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" > < / 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" >
2014-11-10 09:02:21 +00:00
< td class = "colFirst" > < code > protected java.util.Map< java.lang.Object,< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > > < / code > < / td >
2014-04-01 11:30:48 +00:00
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/analysis/mxUnionFind.html#nodes" > nodes< / a > < / strong > < / code >
< div class = "block" > Maps from elements to nodes< / div >
< / td >
< / tr >
< / table >
< / li >
< / ul >
2012-05-21 20:32:26 +00:00
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
2014-04-01 11:30:48 +00:00
< 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" > < / span > < / caption >
< tr >
< th class = "colOne" scope = "col" > Constructor and Description< / th >
< / tr >
< tr class = "altColor" >
2014-11-10 09:02:21 +00:00
< td class = "colOne" > < code > < strong > < a href = "../../../com/mxgraph/analysis/mxUnionFind.html#mxUnionFind(java.lang.Object[])" > mxUnionFind< / a > < / strong > (java.lang.Object[] elements)< / code >
2014-04-01 11:30:48 +00:00
< div class = "block" > Constructs a union find structure and initializes it with the specified
elements.< / div >
< / td >
< / tr >
< / table >
< / li >
< / ul >
2012-05-21 20:32:26 +00:00
<!-- ========== METHOD SUMMARY =========== -->
2014-04-01 11:30:48 +00:00
< 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" > < / 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 > boolean< / code > < / td >
2014-11-10 09:02:21 +00:00
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/analysis/mxUnionFind.html#differ(java.lang.Object, java.lang.Object)" > differ< / a > < / strong > (java.lang.Object a,
java.lang.Object b)< / code >
2014-04-01 11:30:48 +00:00
< div class = "block" > Returns true if element a and element b are not in the same set.< / div >
< / td >
< / tr >
< tr class = "rowColor" >
< td class = "colFirst" > < code > < a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > < / code > < / td >
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/analysis/mxUnionFind.html#find(com.mxgraph.analysis.mxUnionFind.Node)" > find< / a > < / strong > (< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > node)< / code >
< div class = "block" > Returns the set that contains < code > node< / code > .< / div >
< / td >
< / tr >
< tr class = "altColor" >
< td class = "colFirst" > < code > < a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > < / code > < / td >
2014-11-10 09:02:21 +00:00
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/analysis/mxUnionFind.html#getNode(java.lang.Object)" > getNode< / a > < / strong > (java.lang.Object element)< / code >
2014-04-01 11:30:48 +00:00
< div class = "block" > Returns the node that represents element.< / div >
< / td >
< / tr >
< tr class = "rowColor" >
< td class = "colFirst" > < code > void< / code > < / td >
< td class = "colLast" > < code > < strong > < a href = "../../../com/mxgraph/analysis/mxUnionFind.html#union(com.mxgraph.analysis.mxUnionFind.Node, com.mxgraph.analysis.mxUnionFind.Node)" > union< / a > < / strong > (< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > a,
< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > b)< / code >
< div class = "block" > Unifies the sets < code > a< / code > and < code > b< / code > in constant time
using a union by rank on the tree size.< / div >
< / td >
< / tr >
< / table >
< ul class = "blockList" >
< li class = "blockList" > < a name = "methods_inherited_from_class_java.lang.Object" >
<!-- -->
< / a >
2014-11-10 09:02:21 +00:00
< h3 > Methods inherited from class java.lang.Object< / h3 >
< code > clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait< / code > < / li >
2014-04-01 11:30:48 +00:00
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< div class = "details" >
< ul class = "blockList" >
< li class = "blockList" >
2012-05-21 20:32:26 +00:00
<!-- ============ FIELD DETAIL =========== -->
2014-04-01 11:30:48 +00:00
< ul class = "blockList" >
< li class = "blockList" > < a name = "field_detail" >
<!-- -->
< / a >
< h3 > Field Detail< / h3 >
< a name = "nodes" >
<!-- -->
< / a >
< ul class = "blockListLast" >
< li class = "blockList" >
< h4 > nodes< / h4 >
2014-11-10 09:02:21 +00:00
< pre > protected java.util.Map< java.lang.Object,< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > > nodes< / pre >
2014-04-01 11:30:48 +00:00
< div class = "block" > Maps from elements to nodes< / div >
< / li >
< / ul >
< / li >
< / ul >
2012-05-21 20:32:26 +00:00
<!-- ========= CONSTRUCTOR DETAIL ======== -->
2014-04-01 11:30:48 +00:00
< ul class = "blockList" >
< li class = "blockList" > < a name = "constructor_detail" >
<!-- -->
< / a >
< h3 > Constructor Detail< / h3 >
< a name = "mxUnionFind(java.lang.Object[])" >
<!-- -->
< / a >
< ul class = "blockListLast" >
< li class = "blockList" >
< h4 > mxUnionFind< / h4 >
2014-11-10 09:02:21 +00:00
< pre > public mxUnionFind(java.lang.Object[] elements)< / pre >
2014-04-01 11:30:48 +00:00
< div class = "block" > Constructs a union find structure and initializes it with the specified
elements.< / div >
< dl > < dt > < span class = "strong" > Parameters:< / span > < / dt > < dd > < code > elements< / code > - < / dd > < / dl >
< / li >
< / ul >
< / li >
< / ul >
2012-05-21 20:32:26 +00:00
<!-- ============ METHOD DETAIL ========== -->
2014-04-01 11:30:48 +00:00
< ul class = "blockList" >
< li class = "blockList" > < a name = "method_detail" >
<!-- -->
< / a >
< h3 > Method Detail< / h3 >
< a name = "getNode(java.lang.Object)" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > getNode< / h4 >
2014-11-10 09:02:21 +00:00
< pre > public < a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > getNode(java.lang.Object element)< / pre >
2014-04-01 11:30:48 +00:00
< div class = "block" > Returns the node that represents element.< / div >
< / li >
< / ul >
< a name = "find(com.mxgraph.analysis.mxUnionFind.Node)" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > find< / h4 >
< pre > public < a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > find(< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > node)< / pre >
< div class = "block" > Returns the set that contains < code > node< / code > . This implementation
provides path compression by halving.< / div >
< / li >
< / ul >
< a name = "union(com.mxgraph.analysis.mxUnionFind.Node, com.mxgraph.analysis.mxUnionFind.Node)" >
<!-- -->
< / a >
< ul class = "blockList" >
< li class = "blockList" >
< h4 > union< / h4 >
< pre > public void union(< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > a,
< a href = "../../../com/mxgraph/analysis/mxUnionFind.Node.html" title = "class in com.mxgraph.analysis" > mxUnionFind.Node< / a > b)< / pre >
< div class = "block" > Unifies the sets < code > a< / code > and < code > b< / code > in constant time
using a union by rank on the tree size.< / div >
< / li >
< / ul >
< a name = "differ(java.lang.Object, java.lang.Object)" >
<!-- -->
< / a >
< ul class = "blockListLast" >
< li class = "blockList" >
< h4 > differ< / h4 >
2014-11-10 09:02:21 +00:00
< pre > public boolean differ(java.lang.Object a,
java.lang.Object b)< / pre >
2014-04-01 11:30:48 +00:00
< div class = "block" > Returns true if element a and element b are not in the same set. This
uses getNode and then find to determine the elements set.< / div >
< dl > < dt > < span class = "strong" > Parameters:< / span > < / dt > < dd > < code > a< / code > - The first element to compare.< / dd > < dd > < code > b< / code > - The second element to compare.< / dd >
< dt > < span class = "strong" > Returns:< / span > < / dt > < dd > Returns true if a and b are in the same set.< / dd > < dt > < span class = "strong" > See Also:< / span > < / dt > < dd > < a href = "../../../com/mxgraph/analysis/mxUnionFind.html#getNode(java.lang.Object)" > < code > getNode(Object)< / code > < / a > < / dd > < / dl >
< / li >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< / div >
< / div >
2012-05-21 20:32:26 +00:00
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
2014-04-01 11:30:48 +00:00
< 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/mxUnionFind.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 >
2014-11-10 09:02:21 +00:00
< div class = "aboutLanguage" > < em > < p > < b > mxGraph 3.1.1.1< / b > < / p > < / em > < / div >
2014-04-01 11:30:48 +00:00
< / div >
< div class = "subNav" >
< ul class = "navList" >
< li > < a href = "../../../com/mxgraph/analysis/mxTraversal.html" title = "class in com.mxgraph.analysis" > < span class = "strong" > Prev Class< / span > < / a > < / li >
< li > < a href = "../../../com/mxgraph/analysis/mxUnionFind.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/mxUnionFind.html" target = "_top" > Frames< / a > < / li >
< li > < a href = "mxUnionFind.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");
2012-05-21 20:32:26 +00:00
if(window==top) {
2014-04-01 11:30:48 +00:00
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
2012-05-21 20:32:26 +00:00
}
//-->
2014-04-01 11:30:48 +00:00
< / script >
< / div >
< div >
< ul class = "subNavList" >
< li > Summary: < / li >
< li > < a href = "#nested_class_summary" > Nested< / a > | < / li >
< li > < a href = "#field_summary" > Field< / a > | < / li >
< li > < a href = "#constructor_summary" > Constr< / a > | < / li >
< li > < a href = "#method_summary" > Method< / a > < / li >
< / ul >
< ul class = "subNavList" >
< li > Detail: < / li >
< li > < a href = "#field_detail" > Field< / a > | < / li >
< li > < a href = "#constructor_detail" > Constr< / a > | < / li >
< li > < a href = "#method_detail" > Method< / a > < / li >
< / ul >
< / div >
< a name = "skip-navbar_bottom" >
<!-- -->
< / a > < / div >
2012-05-21 20:32:26 +00:00
<!-- ======== END OF BOTTOM NAVBAR ======= -->
2014-04-01 11:30:48 +00:00
< 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 >