TAD: Árboles binarios y Listas enlazadas en Java

/* Manejo de Árboles binarios y Listas enlazadas en Java: el interfaz se supone ya dado y listo para usarlo. */

package arbolesbinarios;

import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

/*
 * @author RLR
 */

public class ArbolesBinarios {

    
    public static void main(String[] args) 
    {
        
        Integer[] x = {4, 8, 3, 6, 10, 1, 5, 0, 9, 7, 2};
        Integer[] orda = {1, 3, 5, 7, 7, 9};
        Integer[] ordb = {0, 2, 4, 6, 5, 9, 8};
            
        
        // CONSTRUIMOS ARBOL        
        ArbolBusqueda<Integer> arb = new ArbolBusqueda<>();
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        
        //INTRODUCIMOS DATOS
        arb.insertar(5);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        System.out.println("Esta el 5?: " + arb.buscarInOrden(5));
        arb.insertar(3);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        System.out.println("Esta el 3?: " + arb.buscarInOrden(3));
        arb.insertar(8);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        System.out.println("Esta el 8?: " + arb.buscarInOrden(8));
        arb.insertar(4);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        arb.insertar(3);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        arb.insertar(4);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        arb.insertar(-1);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        arb.insertar(6);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        arb.insertar(15);
        System.out.println("Arbol vacio?: " + arb.esVacio());
        System.out.println("Altura?: " + arb.altura());
        System.out.println("Contenido inorden?: " + arb.inOrden().toString());
        System.out.println("Esta el 6?: " + arb.buscarInOrden(6));
        System.out.println("Esta el 15?: " + arb.buscarInOrden(15));
        System.out.println("Esta el 7?: " + arb.buscarInOrden(7));
        
        //CONSTRUIMOS ARBOL DESDE ARRAY        
        ArbolBusqueda<Integer> arb1 = new ArbolBusqueda<>(x);
        System.out.println("Arbol vacio?: " + arb1.esVacio());
        System.out.println("Altura?: " + arb1.altura());
        System.out.println("Contenido inorden?: " + arb1.inOrden().toString());
        arb1.insertar(15);
        System.out.println("Arbol vacio?: " + arb1.esVacio());
        System.out.println("Altura?: " + arb1.altura());
        System.out.println("Contenido inorden?: " + arb1.inOrden().toString());
        System.out.println("Esta el 6?: " + arb1.buscarInOrden(6));
        System.out.println("Esta el 15?: " + arb1.buscarInOrden(15));
        System.out.println("Esta el 23?: " + arb1.buscarInOrden(23));
        
        //LISTAS: PEGAR 2 DE ELLAS Y ORDENARLAS
        
        //PASO A LISTA
        List<Integer> lista1 = new LinkedList<>(Arrays.asList(orda));
        List<Integer> lista2 = new LinkedList<>(Arrays.asList(ordb));        
        
        //ORDENARLAS
        Collections.sort(lista1);
        Collections.sort(lista2);
        System.out.println(lista1);
        System.out.println(lista2);
        
        //CREAR UNA TERCERA DONDE PEGAMOS LA OTROS DOS Y LA ORDENAMOS
        List<Integer> lista3 = new LinkedList<>(Arrays.asList(orda));
        lista3.addAll(lista2);
        System.out.println(lista3);
        Collections.sort(lista3);
        System.out.println(lista3);
                            
    }
}
Esta entrada fue publicada en Ciencia y programación. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s