diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml
new file mode 100644
index 0000000..43589db
--- /dev/null
+++ b/.idea/jsLibraryMappings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Estructuras de Datos.iml b/Estructuras de Datos.iml
index 37cc804..8615095 100644
--- a/Estructuras de Datos.iml
+++ b/Estructuras de Datos.iml
@@ -7,5 +7,6 @@
+
\ No newline at end of file
diff --git a/dtjava.js b/dtjava.js
new file mode 100644
index 0000000..c3cc2d5
--- /dev/null
+++ b/dtjava.js
@@ -0,0 +1 @@
+var dtjava=function(){function t(d){return(d!=undefined&&d!=null)}function u(d){return(d!=null&&typeof d!="undefined")}function B(d,aY){for(var w=0;w0){dtjava.dtPendingCnt--;setTimeout(w,500)}}}if(!t(dtjava.dtPending)||dtjava.dtPendingCnt==0){dtjava.dtPending={}}dtjava.dtPending[d]=aY;dtjava.dtPendingCnt=1000;if(w!=null){w()}}}function X(a0,aZ,a6,a1,a3){var w=f();if(Z.chrome&&Z.win&&w!=null&&!aP(w)){var d;if(t(a0.placeholder)){var a2=function(){O.open("http://www.java.com/en/download/faq/chrome.xml");return false};var a5="Please give Java permission to run on this browser web page.";var a4="Click for more information.";var a7="";aB(a0,a5,a4,a7,"javafx-chrome.png",a2);d=a0.id+"-embed"}else{a6.jre="blocked";K(a0,a6,a1);d="launch"}var aY=function(){var a9=N(aZ);if(a9==null){a3()}else{X(a0,aZ,a9,a1,a3)}};ac(d,aY);return}if(!a6.isUnsupportedPlatform()&&!a6.isUnsupportedBrowser()){if(ao(a6)&&u(a1.onInstallNeeded)){var a8=function(){var a9=N(aZ);if(a9==null){a3()}else{K(a0,a9,a1)}};a1.onInstallNeeded(a0,aZ,a1,a6.canAutoInstall(),a6.isRelaunchNeeded(),a8);return}}K(a0,a6,a1)}function ai(){if(Z.deploy!=null&&!Z.ie){return aU("10.6+",Z.deploy,false)}return false}function ae(d){return d!=null&&u(d.version)}function aT(){return document.getElementById("dtlite")}function k(){if(aT()!=null){return}var w=document.createElement("embed");w.width="10px";w.height="10px";w.id="dtlite";w.type="application/x-java-applet";var aY=document.createElement("div");aY.style.position="relative";aY.style.left="-10000px";aY.appendChild(w);var d=document.getElementsByTagName("body");d[0].appendChild(aY)}function y(w){var aY=aT();if(aY==null){k();aY=aT()}if(ae(aY)){w(aY)}else{var d=null;if(!u(dtjava.dtlitePendingCnt)||dtjava.dtlitePendingCnt==0){d=function(){if(u(aY.version)){if(dtjava.pendingLaunch!=null){dtjava.pendingLaunch(aY)}dtjava.pendingLaunch=null;return}if(dtjava.dtlitePendingCnt>0){dtjava.dtlitePendingCnt--;setTimeout(d,500)}}}dtjava.pendingLaunch=w;dtjava.dtlitePendingCnt=1000;if(d!=null){d()}}}function aQ(aZ,w,d){var aY=function(){var a0=aT();if(a0==null){if(u(d.onRuntimeError)){d.onRuntimeError(aZ.id)}}var a3={url:aZ.url};if(t(w)){a3.vmargs=w}if(t(aZ.params)){var a4={};for(var a1 in aZ.params){a4[a1]=String(aZ.params[a1])}a3.params=a4}if(t(aZ.jnlp_content)){a3.jnlp_content=aZ.jnlp_content}var a2=a0.launchApp(a3);if(a2==0){if(u(d.onRuntimeError)){d.onRuntimeError(aZ.id)}}};if(aU("10.4+",Z.deploy,false)){y(aY);return true}return false}function ah(w){var d=null;if(Z.ie){d=W.createElement("object");d.width="1px";d.height="1px";var aY=W.createElement("param");aY.name="launchjnlp";aY.value=w;d.appendChild(aY);aY=W.createElement("param");aY.name="docbase";aY.value=t(W.documentURI)?W.documentURI:W.URL;d.appendChild(aY);if(!Z.ie){d.type="application/x-java-applet;version=1.7"}else{d.classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"}}else{d=W.createElement("embed");d.width="0px";d.height="0px";d.setAttribute("launchjnlp",w);d.setAttribute("docbase",(t(W.documentURI)?W.documentURI:W.URL));d.type="application/x-java-applet;version=1.7"}var aZ=W.createElement("div");aZ.style.position="relative";aZ.style.left="-10000px";aZ.appendChild(d);return aZ}var az={Exact:{value:0},Family:{value:1},Above:{value:2}};var au={Uninitialized:{value:-2},Unknown:{value:-1},Identifier:{value:0},Alpha:{value:1},Digits:{value:2},Plus:{value:3},Minus:{value:4},Underbar:{value:5},Star:{value:6},Dot:{value:7},End:{value:8}};var l=function(a2,be){if(typeof be==="undefined"){var be=true}var aZ=4;var a8=null;var bg=false;var bh=null;var bi=null;var a4=null;var bc=null;var bl=null;var a1=null;var a6=null;var a7=null;if(!a2){return null}else{a8=a2;var ba=d(a2,be);bg=ba.old;bh=ba.version;bi=ba.build;bc=ba.match;a4=ba.pre;var bd=w(ba.version);bl=bd.major;a1=bd.minor;a6=bd.security;a7=bd.patch}return{VersionString:a2,old:bg,major:bl,minor:a1,security:a6,patch:a7,version:bh,build:bi,pre:a4,match:bc,check:function(bm){return bj(bm,this)},equals:function(bm){return a9(bm,this)}};function w(bn){var bp=null;var bq=null;var bm=null;var bo=null;if(bn.length>=1){bp=bn[0]}if(bn.length>=2){bq=bn[1]}if(bn.length>=3){bm=bn[2]}if(bn.length>=4){bo=bn[3]}return{major:bp,minor:bq,security:bm,patch:bo}}function bf(bw){var bp=bw.toLowerCase().trim();var br;var bn=null;var bv=Array();function bs(by){var bx=false;switch(by){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":bx=true;break}return bx}function bu(bB){var bx=false;var by="a".charCodeAt(0);var bA="z".charCodeAt(0);var bz=bB.charCodeAt(0);if(by<=bz&&bz<=bA){bx=true}return bx}function bm(){br=0}function bq(){return bn}function bt(bx){if(bn!=null){bv.unshift(bn)}bn=bx}function bo(){var by=au.Uninitialized;var bx="";if(bv.length>0){by=bv[0].tokenID;bx=bv[0].token;bv.shift()}else{if(br>=bp.length){by=au.End}else{while(br0&&bw.token.charAt(0)=="u"){bu=true}return bu}function bn(bv){var bu=null;var bw=bv.currentToken();if(bw.tokenID==au.Identifier){bu=parseInt(bw.token.substr(1));bv.nextToken()}else{if(bw.tokenID==au.Star){lmatch=az.Family;bv.nextToken()}else{if(bw.tokenID==au.Plus){lmatch=az.Above;bv.nextToken()}}}return bu}function bt(bv){var bu=null;var bw=bv.currentToken();if(bw.tokenID==au.Alpha){bu=bw.token;bv.nextToken()}return bu}function br(bz){var bE=null;var bB=false;var bu=false;var bv=null;var bD=null;var by=az.Exact;var bw=false;var bC=null;bz.start();var bx=bz.nextToken();if(bx.tokenID==au.Digits){bv=bm(bz);if(bv!=null&&bv.length>0){bx=bz.currentToken();if(bv[0]==1){if(bv.length>=2&&bv[1]==9){return null}bu=true}else{if(bx.token=="u"){bx=bz.nextToken()}}if(bo(bv,bx)==true){bu=true;var bA=bn(bz);if(bA!=null){bx=bz.currentToken();bv.push(parseInt(bA));bu=true;if(bx.tokenID==au.End){bB=true}else{by=bq(bz);bx=bz.currentToken();if(bx.tokenID==au.End){bB=true}}}}else{bx=bz.currentToken();if(bu==true&&bx.tokenID==au.Underbar){bx=bz.nextToken();if(bx.tokenID==au.Digits&&bv.length0&&bv.version[0]==1){bn=bv.version.splice(1,bv.version.length-1)}else{bn=bv.version}bm=true}else{bn=bv.version}bw=bv.build;bq=bv.match;bp=bv.pre}}return{old:bm,version:bn,build:bw,match:bq,pre:bp,opt:bt}}function a3(bp,bo){var bn=false;var bm=bp;if(bm==null){bm=0}if(parseInt(bm)==parseInt(bo)){bn=true}return bn}function aY(bo,bn){var bm=false;if((bo.major!=null)&&(bn.major!=null)&&a3(bo.major,bn.major)&&a3(bo.minor,bn.minor)&&a3(bo.security,bn.security)&&a3(bo.patch,bn.patch)&&(bo.old==bn.old)&&(bo.pre==bn.pre)&&((parseInt(bo.build)==parseInt(bn.build))||(bo.build==null&&bn.build==null))){bm=true}return bm}function a0(bq,bn){var bm=false;if(bq.old==true&&bq.version.length==0&&bn.old==true){bm=true}else{for(index=0;index=3&&parseInt(aY.major)<=7&&aZ.substr(-1)!=="+"){return false}if(aY.match==az.Exact){aY=new l(aZ+"+",false)}var w=new l(d,false);return w.check(aY)}function aM(){if(!ai()){if(postponeNativePluginInstallation&&t(W.body)){U();postponeNativePluginInstallation=false}var d=f();if(d!=null){return true}return false}return true}function v(a3){if(Z.jre!=null){if(aU(a3,Z.jre)){return"ok"}}var a2=f();if(a2!=null){var aZ=a2.jvms;for(var a1=0;aZ!=null&&a10){var w=d.charAt(d.length-1);if(w=="*"){d=d.substring(0,d.length-1)+"+"}else{if(w!="+"){d=d+"+"}}}return d}function N(d){var w=new dtjava.Platform(d);w.jvm=ar(w.jvm);return g(w)}function g(aY){aY=new dtjava.Platform(aY);var aZ="ok",a6="ok",a5=false,a1=false,a2=false,w,d;if(t(aY.jvm)&&v(aY.jvm)!="ok"){var a3=v("1+");if(a3=="ok"){a6="old"}else{a6=a3}d=D();if(d.os){a6="unsupported";a1=true}a2=d.browser}if(t(aY.javafx)){d=aH();if(d.os||d.browser){aZ="unsupported";a1=a1||d.os;a2=a2||d.browser}else{if(Z.fx!=null){if(i(aY.javafx,Z.fx)){aZ="ok"}else{if(i("2.0+",Z.fx)){aZ="old"}}}else{if(Z.win){try{w=f();var a4=w.getInstalledFXVersion(aY.javafx);if(a4==""||a4==null){a4=w.getInstalledFXVersion(aY.javafx+"+")}if(a4==""||a4==null){a4=w.getInstalledFXVersion("2.0+");if(a4==null||a4==""){aZ="none"}else{aZ="old"}}}catch(a0){aZ="none"}}else{if(Z.mac||Z.linux){aZ="none"}}}}}a5=a5||(!a1&&a2);if(aZ!="ok"||a6!="ok"||a5||a1||a2){return new F({fx:aZ,jre:a6,relaunch:a5,os:a1,browser:a2,platform:aY})}else{if(Z.override==false&&!aM()){return new F({fx:aZ,jre:"none",relaunch:a5,os:a1,browser:a2,platform:aY})}}return null}function T(){var d=null;d=navigator.userLanguage;if(d==null){d=navigator.systemLanguage}if(d==null){d=navigator.language}if(d!=null){d=d.replace("-","_")}return d}function an(d){if(!t(d)){d=T()}return"http://java.com/dt-redirect?"+((t(window.location)&&t(window.location.href))?("&returnPage="+window.location.href):"")+(t(d)?("&locale="+d):"")}function S(d){return"http://www.oracle.com/technetwork/java/javafx/downloads/index.html"}function ao(d){if(d!=null){var aY=d.jreStatus();var w=d.javafxStatus();return(aY=="none"||w=="none"||aY=="old"||w=="old")&&(w!="disabled"&&aY!="disabled")}return false}function aA(w,aY,aZ,a4,a2,a6){var a5,d;if(aY){a5="Java";d="java"}else{a5="JavaFX";d="javafx"}var a1,a0,a3;if(aZ){a1="A newer version of "+a5+"is required to view the content on this page.";a0="Please click here to update "+a5;a3="upgrade_"+d+".png"}else{a1="View the content on this page.";a0="Please click here to install "+a5;a3="get_"+d+".png"}var a7="Click to install "+a5;aB(w,a1,a0,a7,a3,a6)}function aB(w,a1,a0,a4,a2,a3){var d=W.createElement("div");d.width=aO(w.width);d.height=aO(w.height);var aZ=W.createElement("a");aZ.href="";aZ.onclick=function(){a3();return false};if(w.width<250||w.height<160){d.appendChild(W.createElement("p").appendChild(W.createTextNode(a1)));aZ.appendChild(W.createTextNode(a0));d.appendChild(aZ)}else{var aY=W.createElement("img");aY.src=x+a2;aY.alt=a4;aY.style.borderWidth="0px";aY.style.borderStyle="none";aZ.appendChild(aY);d.appendChild(aZ)}o(w.placeholder);w.placeholder.appendChild(d)}function at(d){if(aU(d.jvm,aC,false)&&i(d.javafx,"2.2.0")){return true}return false}function n(aZ,w,a0,a3,a4,a5){var a2=function(){e(aZ,w,a0,a5)};var a6=g(w);if(!t(a6)){if(t(a5)){a5()}}var a1=t(a6)&&(a6.javafxStatus()=="old"||a6.jreStatus()=="old");if(t(aZ.placeholder)){if(at(w)){aA(aZ,true,a1,a3,a4,a2)}else{aA(aZ,(a6.jreStatus()!="ok"),a1,a3,a4,a2)}}else{var d=a3;var aY=null;if(!d){if(at(w)){if(a1){aY="A newer version of Java is required to view the content on this page. Please click here to update Java."}else{aY="To view the content on this page, please click here to install Java."}d=confirm(aY)}else{if(a1){aY="A newer version of JavaFX is required to view the content on this page. Please click here to update JavaFX."}else{aY="To view the content on this page, please click here to install JavaFX."}d=confirm(aY)}}if(d){a2()}}}function q(d){if(!Z.ie){return true}if(aU("10.0.0+",f().version,false)){return true}if(d==null){return false}return !aU("1.6.0_33+",d)}function G(d,aZ,w){if(!Z.win){return false}var aY=f();if(aY==null||!u(aY.version)){return false}if(aZ!="ok"){if(!q(d.jvm)){return false}}if(w!="ok"){if(!at(d)){if(!aU("10.0.0+",f().version,false)){return false}}else{if(!q(aC)){return false}}}return true}function e(aZ,aY,a0,a3){var a5=g(aY);a0=new dtjava.Callbacks(a0);if(t(a5)&&a5.isUnsupportedPlatform()){K(aZ,a5,a0);return false}var a4=(aZ!=null)?aZ.placeholder:null;var d,a1;if(ao(a5)){if(a5.canAutoInstall()){var w=f();var a2=function(){var a8=function(a9){if(a9==10000+1){return}d=["success","ignore","error:download","error:generic","error:generic","error:generic","error:generic","error:cancelled"];if(a9>19900){if(a9==20000+1602||a9===20000-2){a1="error:cancelled"}else{a1="error:generic"}}else{if(a9>=10000&&a9<=19900){a1=(a9>=10000&&a9<10000+d.length)?d[a9-10000]:"error:unknown"}else{a1="error:generic"}}if(u(a0.onInstallFinished)){a0.onInstallFinished(a4,"javafx",a1,a5.isRelaunchNeeded())}if(a9==0){if(t(a3)){a3()}}};if(u(a0.onInstallStarted)){a0.onInstallStarted(a4,"JavaFX",true,true)}var a7=0;try{a7=w.installJavaFX(aY.javafx,a8)}catch(a6){a7=0}if(a7==0){a7=w.installJavaFX(aY.javafx);setTimeout(function(){setTimeout(function(){a8(a7?1:0)},0)},0)}};if(a5.jre!="ok"||at(aY)){setTimeout(function(){var a7=function(ba){if(ba==10000+1){return}if(ba>19900){a1="error:generic"}else{if(ba==-1){a1="error:generic"}else{if(ba>10000){a1="error:generic"}else{if(ba==0){a1="success"}else{a1="error:generic"}}}}if(u(a0.onInstallFinished)){a0.onInstallFinished(a4,"jre",a1,a5.isRelaunchNeeded())}if(ba==0){a5=g(aY);if(a5!=null&&a5.jre=="ok"&&!aj&&a5.fx!="ok"){setTimeout(a2,0)}else{if(a3!=null){a3()}}}};if(u(a0.onInstallStarted)){a0.onInstallStarted(a4,"Java",true,true)}var a8=0;try{a8=w.installJRE(aY.jvm,aY.javafx,a7)}catch(a6){a8=0}if(a8==0){var a9=aY.jvm;if(a5.fx!="ok"&&at(aY)){a9=aC;if(aY.jvm.indexOf("*")!=-1){a9+="*"}else{if(aY.jvm.indexOf("+")!=-1){a9+="+"}}}try{a8=w.installJRE(a9,a7)}catch(a6){a8=0}if(a8==0){try{a8=w.installJRE(a9)}catch(a6){a8=0}setTimeout(function(){setTimeout(function(){a7(a8)},0)},0)}}},0)}else{if(!aj&&a5.fx!="ok"){setTimeout(a2,0)}}}else{if(a5.jre!="ok"||at(aY)){if(u(a0.onInstallStarted)){a0.onInstallStarted(a4,"Java",false,f()!=null)}aS()}else{if(a5.fx!="ok"){if(u(a0.onInstallStarted)){a0.onInstallStarted(a4,"JavaFX",false,f()!=null)}aN()}else{K(aZ,a5,a0)}}}}else{if(a3!=null){a3()}return true}return false}function aS(){O.open(an())}function aN(){O.open(ad)}function aW(a1){if(a1.placeholder!=null){var aZ=a1.width,a3=a1.height;var a2=!(aZ<100&&a3<100);var aY=a2?"javafx-loading-100x100.gif":"javafx-loading-25x25.gif";var d=a2?80:25;var a0=a2?80:25;var w=W.createElement("img");w.src=x+aY;w.alt="";w.style.position="relative";w.style.top="50%";w.style.left="50%";w.style.marginTop=aO(-a0/2);w.style.marginLeft=aO(-d/2);return w}else{return null}}function aG(w){if(w.placeholder!=null){var d=W.createElement("p");d.appendChild(W.createTextNode("FIXME - add real message!"));return d}return null}function o(d){while(d.hasChildNodes()){d.removeChild(d.firstChild)}}function af(a0,aY,d,w){if(a0!=null){var aZ=null;if(d){aZ=(aY=="JavaFX")?"install:inprogress:javafx":"install:inprogress:jre"}else{aZ=(aY=="JavaFX")?"install:inprogress:javafx:manual":"install:inprogress:jre:manual"}aR(aZ)}}function r(a1,w,d,a0){var aY;if(d!="success"){var aZ=null;if(w=="javafx"){if(!aM()){aZ="install:fx:error:nojre"}else{aZ="install:fx:"+d}}else{aZ="install:jre:"+d}if(a1!=null){aY=P(aZ,null);o(a1);a1.appendChild(aY)}else{O.alert(av(aZ))}}else{if(a0){aY=aR("install:fx:restart");o(a1);a1.appendChild(aY)}}}function aX(w,d){if(d==null){code="success"}else{if(d.isUnsupportedBrowser()){code="browser"}else{if(d.jreStatus()!="ok"){code="jre:"+d.jreStatus()}else{if(d.javafxStatus()!="ok"){code="javafx:"+d.javafxStatus()}else{if(d.isRelaunchNeeded()){code="relaunch"}else{code="unknown "+d.toString()}}}}}if(w.placeholder!=null){E(w.id,code,null)}else{O.alert(av(code))}}function Y(w){var d=M(w);if(L(w)!=null){E(w,"launch:fx:generic:embedded",function(){aq(M(w),false);return false})}else{O.alert(av("launch:fx:generic"))}}function f(){var d=null;if(Z.override==false){navigator.plugins.refresh(false);d=document.getElementById("dtjavaPlugin")}return d}function U(){if(f()!=null){return}if(!t(W.body)&&!aJ){Q(function(){U()});postponeNativePluginInstallation=true;return}var aY=null;if(Z.ie){aY=W.createElement("object");aY.width="1px";aY.height="1px";aY.classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA"}else{if(!Z.wk&&!Z.op&&navigator.mimeTypes!=null){var a0="application/java-deployment-toolkit";var aZ=false;for(var w=0;w "+this.params[p];aZ=false}aY+="}"}return"dtjava.App: [url="+this.url+", id="+this.id+", dimensions=("+this.width+","+this.height+"), toolkit="+this.toolkit+", embedded_jnlp="+(t(this.jnlp_content)?(this.jnlp_content.length+" bytes"):"NO")+", params="+aY+"]"}},Callbacks:function(d){this.onGetSplash=aW;this.onInstallNeeded=n;this.onInstallStarted=af;this.onInstallFinished=r;this.onDeployError=aX;this.onGetNoPluginMessage=aG;this.onJavascriptReady=null;this.onRuntimeError=Y;for(c in d){this[c]=d[c]}}}}();
\ No newline at end of file
diff --git a/edd.html b/edd.html
new file mode 100644
index 0000000..e9c7ad5
--- /dev/null
+++ b/edd.html
@@ -0,0 +1,42 @@
+
+ Estructuras de Datos
+
+
+
+
+
+
+
+
+
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..eb15972
--- /dev/null
+++ b/index.html
@@ -0,0 +1,29 @@
+
+ Estructuras de Datos
+
+
+
+
+
+ The webstart and embedded verions require java 8 to run! It is also necessary to add cromer.cl to your trusted sites in java settings because the java applet is unsigned.
+ Windows: click to download windows binary
+ Linux: click to download linux binary
+ Webstart: click to launch this app as webstart
+ Embedded: click to launch this app as embedded app
+ Documetation: JavaDoc
+ Documetation: JavaDoc Index
+ Diagram: UML
+
+
diff --git a/src/cl/cromer/estructuras/ArbolController.java b/src/cl/cromer/estructuras/ArbolController.java
index 9524569..f2852e8 100644
--- a/src/cl/cromer/estructuras/ArbolController.java
+++ b/src/cl/cromer/estructuras/ArbolController.java
@@ -145,8 +145,8 @@ public class ArbolController implements Initializable {
List> niveles = arbol.getNiveles();
int altura = arbol.getAltura() - 1;
+ // Thank you Claudio GutiƩrrez
int ancho = (int) Math.pow(2, altura) + (int) ((Math.pow(2, altura)) - 1);
- System.out.println(ancho);
Text text;
for (int i = 0; i < altura; i++) {