Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS LIC. DESARROLLO DE SOFTWARE ESTRUCTURA DE DATOS II LABORATORIO #3 Prof. Doris Cueto Integrantes: Moreno Alexander Murcia Luis Rivera Ruben Grupo: 1LS122 FECHA 29/04/2023 2 En lenguaje C++ En Java 3 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public class NodoArbol { int info; NodoArbol izq, der; public NodoArbol(int info) { this.info = info; izq = null; der = null; } } import java.util.Scanner; public class ArbolBinario { NodoArbol raiz; public ArbolBinario() { raiz = null; } public void crear(NodoArbol nodo) { Scanner sc = new Scanner(System.in); // Lee el dato y lo almacena en nodo.info System.out.print("Ingrese el dato para el nodo: "); nodo.info = sc.nextInt(); 4 // Si existe nodo a la izquierda, crear un nuevo nodo y almacenar la dirección // en nodo.izq System.out.print("¿Desea crear un nodo a la izquierda de " + nodo.info + "? (1=SI, 0=NO): "); int opcion = sc.nextInt(); if (opcion == 1) { nodo.izq = new NodoArbol(0); // El valor 0 se sobreescribirá en la siguiente llamada recursiva crear(nodo.izq); } else { nodo.izq = null; } // Si existe nodo a la derecha, crear un nuevo nodo y almacenar la dirección en // nodo.der System.out.print("¿Desea crear un nodo a la derecha de " + nodo.info + "? (1=SI, 0=NO): "); opcion = sc.nextInt(); if (opcion == 1) { nodo.der = new NodoArbol(0); // El valor 0 se sobreescribirá en la siguiente llamada recursiva crear(nodo.der); } else { nodo.der = null; } } public void imprimirPreorden(NodoArbol nodo) { if (nodo != null) { System.out.print(nodo.info + " "); imprimirPreorden(nodo.izq); imprimirPreorden(nodo.der); } } public void imprimirInorden(NodoArbol nodo) { if (nodo != null) { imprimirInorden(nodo.izq); System.out.print(nodo.info + " "); imprimirInorden(nodo.der); } } 5 public void imprimirPostorden(NodoArbol nodo) { if (nodo != null) { imprimirPostorden(nodo.izq); imprimirPostorden(nodo.der); System.out.print(nodo.info + " "); } } public static void main(String[] args) { ArbolBinario arbol = new ArbolBinario(); arbol.raiz = new NodoArbol(1); // Creación del primer nodo en la dirección 10 arbol.crear(arbol.raiz); System.out.print("Preorden: "); arbol.imprimirPreorden(arbol.raiz); System.out.print("\nInorden: "); arbol.imprimirInorden(arbol.raiz); System.out.print("\nPostorden: "); arbol.imprimirPostorden(arbol.raiz); } }
Compartir