Hola, tengo un trabajo de la universidad en el cual me piden lo siguiente:
b) Crear un método para calcular la altura del árbol
c) Crear un método para encontrar el numero de nodos del árbol
d) Crear manualmente la estructura del árbol enviado, ¡el cual ya lo tengo en el codigo!
Crear un aplicativo en java que muestre un primer pantallazo que diga
1) Imprimir en posorden
2) Imprimir en preorden
3) imprimir en inorden
Después de capturar el numero presionado debe mostrar otro mensaje
1) Imprimir en pantalla
2) Imprimir en archivo
Dependiendo de la opcion seleccionda debe imprimir en pantalla o en archivo el arbol segun el orden seleccionoda, imediatamten despues debe imprimir ( el la misma pantalla o archivo ) la altura del arbol y el numero de nodos haciendo uso de los métodos desarrollados.
el codigo es:
import java.applet.*; //import java.awt.*; import java.io.*; class Nodo { int info; Nodo der; Nodo izq; Nodo (int info) { this.info = info; izq = der = null; } } { int cantNodos; int altura = 0; { Nodo raiz = binario(); caltura(raiz, 0); if (opcion == 1) preorden(raiz); if (opcion == 2) posorden(raiz); if (opcion == 3) inorden(raiz); /*if (opcion1== 4) archivo(); */ if (opcion1== 5) archivo(); } Nodo binario() { Nodo m=new Nodo(17); InsDer(m,15); InsIzq(m,1); InsDer(m.der,21); InsDer(m.der.der,27); InsDer(m.der.der.der,13); InsIzq(m.der.der.der,9); InsIzq(m.der.der,4); InsIzq(m.der,2); InsDer(m.der.izq,29); InsIzq(m.der.izq,14); InsDer(m.der.izq.izq,19); InsIzq(m.der.izq.izq,28); InsDer(m.izq,6); InsIzq(m.izq.der,25); InsDer(m.izq.der.izq,30); InsIzq(m.izq.der.izq,16); InsIzq(m.izq,23); InsDer(m.izq.izq,5); InsDer(m.izq.izq.der,31); InsIzq(m.izq.izq,12); InsDer(m.izq.izq.izq,24); InsIzq(m.izq.izq.izq,11); return m; } void InsDer(Nodo raiz,int n) { Nodo Nuevo = new Nodo (n); raiz.der=Nuevo; } void InsIzq(Nodo raiz,int n) { Nodo Nuevo = new Nodo (n); raiz.izq=Nuevo; } { try { if (mm.createNewFile()) else ioe.printStackTrace(); } } void preorden (Nodo Raiz) { if (Raiz!=null) { preorden (Raiz.izq); preorden(Raiz.der); } } void posorden(Nodo Raiz) { if (Raiz!=null) { posorden(Raiz.izq); posorden(Raiz.der); } } void inorden(Nodo Raiz) { if (Raiz!=null) { inorden(Raiz.izq); inorden(Raiz.der); } } void caltura (Nodo Raiz, int alt) { if (alt > altura) altura = alt; if (Raiz!=null){ caltura (Raiz.izq, alt+1); caltura (Raiz.der, alt+1); } } }
agradezco cualquier colaboracion prestada... Gracias