Búsqueda por palabras claves

No se olviden de consultar por palabras claves! Ejemplo de Estructura de datos en java, tutorial de estructura de datos
Búsqueda personalizada

jueves, 20 de junio de 2019

Determinar el altitud del arbol java con recursividad, niveles del arbol con recursividad.

/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */
 
package pryarboles;

/**
 *
 * @author cisco
 */
public class Arbol {

    private Nodo raiz;

    public Arbol() {
        raiz = null;
    }

    public void insertar(int dato, Nodo actual) {
        if (actual == null) {
            raiz = new Nodo(dato);
        } else {
            if (dato < actual.getDato()) {
                if (actual.getIzquieda() == null) {
                    Nodo nuevo = new Nodo(dato);
                    actual.setIzquieda(nuevo);
                } else {
                    actual = actual.getIzquieda();
                    insertar(dato, actual);
                }

            } else {
                if (actual.getDerecha() == null) {
                    Nodo nuevo = new Nodo(dato);
                    actual.setDerecha(nuevo);
                } else {
                    insertar(dato, actual.getDerecha());
                }
            }
        }
    }

    public void insertar(int dato) {
        insertar(dato, raiz);
    }

    public int imprimirPreOrden(Nodo actual, int n, int mayor) {
        if (actual != null) {
           // System.out.println(actual.getDato() + " " + n);
           if(n>mayor)
               mayor=n;
           int a=imprimirPreOrden(actual.getIzquieda(), n + 1, mayor);
           int b=imprimirPreOrden(actual.getDerecha(), n + 1, mayor);
            if (a > b ) {
               return a;
            }
            return b;
            
           
        }
        return mayor;
    }

    public void imprimirPreOrden() {
        System.out.println(imprimirPreOrden(raiz, 1, 0));
    }

}