Metodos posorden, inorden, preorden, guardar en archivos en java

Foros de Programación Forums Java Java File Metodos posorden, inorden, preorden, guardar en archivos en java

This topic contains 0 replies, has 1 voice, and was last updated by  marcrat 4 years, 4 months ago.

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #6074

    marcrat
    Member

    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:

    1. import java.applet.*;
    2. //import java.awt.*;
    3. import java.io.*;
    4.  
    5. class Nodo
    6. {
    7. int info;
    8.  
    9. Nodo der;
    10. Nodo izq;
    11. Nodo (int info)
    12. {
    13. this.info = info;
    14. izq = der = null;
    15. }
    16. }
    17.  
    18. public class arboles extends Applet
    19. {
    20. int cantNodos;
    21. int altura = 0;
    22.  
    23. public arboles() throws IOException
    24. {
    25. Nodo raiz = binario();
    26. caltura(raiz, 0);
    27.  
    28. System.out.print("LA ALTURA ES =>" );
    29. System.out.println(altura );
    30. System.out.println("");
    31.  
    32. System.out.print("LA CANTIDAD DE NODOS DEL ARBOL ES =>" );
    33. System.out.println( );
    34. System.out.println("");
    35.  
    36. System.out.println("<< COMO QUIERE VISUALIZAR EL ARBOL >>" );
    37. System.out.println("");
    38.  
    39. System.out.println( "1) :<< PREORDEN >>" );
    40. System.out.println( "2) :<< POSORDEN >>" );
    41. System.out.println( "3) :<< INORDEN >>" );
    42.  
    43. System.out.println("");
    44. System.out.print( "<< SELECCIONE LA OPCION DESEADA >>" );
    45.  
    46. String linea = leer.readLine();
    47. int opcion = Integer.parseInt(linea);
    48.  
    49. System.out.println("");
    50. System.out.println("");
    51.  
    52. System.out.println("<< COMO QUIERE IMPRIMIR EL ARBOL >>" );
    53. System.out.println("");
    54.  
    55. System.out.println( "4) :<< PANTALLA >>" );
    56. System.out.println( "5) :<< ARCHIVO >>" );
    57.  
    58. System.out.println("");
    59. System.out.print( "<< SELECCIONE LA OPCION DESEADA >>" );
    60.  
    61. String linea1 = leer1.readLine();
    62. int opcion1 = Integer.parseInt(linea1);
    63.  
    64. if (opcion == 1)
    65. preorden(raiz);
    66.  
    67. if (opcion == 2)
    68. posorden(raiz);
    69.  
    70. if (opcion == 3)
    71. inorden(raiz);
    72.  
    73. /*if (opcion1== 4)
    74. archivo();
    75. */
    76. if (opcion1== 5)
    77. archivo();
    78.  
    79. }
    80.  
    81. Nodo binario()
    82. {
    83. Nodo m=new Nodo(17);
    84. InsDer(m,15);
    85. InsIzq(m,1);
    86. InsDer(m.der,21);
    87. InsDer(m.der.der,27);
    88. InsDer(m.der.der.der,13);
    89. InsIzq(m.der.der.der,9);
    90. InsIzq(m.der.der,4);
    91. InsIzq(m.der,2);
    92. InsDer(m.der.izq,29);
    93. InsIzq(m.der.izq,14);
    94. InsDer(m.der.izq.izq,19);
    95. InsIzq(m.der.izq.izq,28);
    96. InsDer(m.izq,6);
    97. InsIzq(m.izq.der,25);
    98. InsDer(m.izq.der.izq,30);
    99. InsIzq(m.izq.der.izq,16);
    100. InsIzq(m.izq,23);
    101. InsDer(m.izq.izq,5);
    102. InsDer(m.izq.izq.der,31);
    103. InsIzq(m.izq.izq,12);
    104. InsDer(m.izq.izq.izq,24);
    105. InsIzq(m.izq.izq.izq,11);
    106.  
    107. return m;
    108. }
    109.  
    110. void InsDer(Nodo raiz,int n)
    111. {
    112. Nodo Nuevo = new Nodo (n);
    113. raiz.der=Nuevo;
    114. }
    115.  
    116. void InsIzq(Nodo raiz,int n)
    117. {
    118. Nodo Nuevo = new Nodo (n);
    119. raiz.izq=Nuevo;
    120. }
    121.  
    122. void archivo() throws IOException
    123. {
    124. File mm = new File("c:\archivo\java","mm.txt");
    125. try {
    126.  
    127. if (mm.createNewFile())
    128. System.out.println("EL Archivo se ha creado correctamente");
    129. else
    130. System.out.println("El Archivo no pudo ser creado");
    131. } catch (IOException ioe) {
    132. ioe.printStackTrace();
    133. }
    134. }
    135.  
    136. void preorden (Nodo Raiz)
    137. {
    138. if (Raiz!=null)
    139. {
    140. System.out.println(Raiz.info);
    141.  
    142. preorden (Raiz.izq);
    143. preorden(Raiz.der);
    144. }
    145.  
    146. }
    147.  
    148. void posorden(Nodo Raiz)
    149. {
    150. if (Raiz!=null)
    151. {
    152. posorden(Raiz.izq);
    153. posorden(Raiz.der);
    154. System.out.println(Raiz.info);
    155. }
    156. }
    157. void inorden(Nodo Raiz)
    158. {
    159. if (Raiz!=null)
    160. {
    161. inorden(Raiz.izq);
    162. System.out.println(Raiz.info);
    163. inorden(Raiz.der);
    164.  
    165. }
    166. }
    167.  
    168. void caltura (Nodo Raiz, int alt)
    169. {
    170. if (alt > altura)
    171. altura = alt;
    172.  
    173. if (Raiz!=null){
    174. caltura (Raiz.izq, alt+1);
    175. caltura (Raiz.der, alt+1);
    176.  
    177. }
    178. }
    179.  
    180. }

    agradezco cualquier colaboracion prestada… Gracias

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.