Logo Studenta

LABORATORIO 3

¡Estudia con miles de materiales!

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); 
 } 
}

Continuar navegando

Contenido elegido para ti

64 pag.
35 pag.
ListasEnlazadas

User badge image

MarceParedes471

6 pag.
Unidad_6_-_Cola_-_Lista

SIN SIGLA

User badge image

Sebastián Villagra

10 pag.
Slides TD Parcial2-131-140

SIN SIGLA

User badge image

León Bravo

68 pag.
Listas_Colas

User badge image

MarceParedes471