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, 9 de enero de 2020

insertar nodos en el arbol

 
package arboles2;

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

    private NodoArbol raiz;

    public Arbol() {
        raiz = null;
    }

    public Arbol(int equipo) {
        raiz = new NodoArbol(equipo);
    }

    public NodoArbol getRaiz() {
        return raiz;
    }

    private void addNodo(NodoArbol nodo, NodoArbol raiz) {
        if (raiz == null) {
              this.raiz=nodo;
        } else {
            if (nodo.getDatos() <= raiz.getDatos()) {
                if (raiz.getIz() == null) {
                    raiz.setIz(nodo);
                } else {
                    addNodo(nodo, raiz.getIz());
                }
            } else {
                if (raiz.getDer()== null) {
                    raiz.setDer(nodo);
                } else {
                    addNodo(nodo, raiz.getDer());
                }
            }
        }
    }

    public void addNodo(int dato) {
        NodoArbol nodo =new NodoArbol(dato);
        this.addNodo(nodo, this.raiz);
    }

    public void recorridoAnchura() {

        if (raiz != null) {
            Cola cola = new Cola();
            cola.encolar(raiz);
            Cola colaAux = new Cola();

            while (!cola.esVacia()) {
                NodoArbol aux = cola.desencolar().getDato();

                if (aux.getIz() != null) {
                    cola.encolar(aux.getIz());
                }
                if (aux.getDer() != null) {
                    cola.encolar(aux.getDer());
                }
                colaAux.encolar(aux);

            }

            colaAux.imprimir();

        }

    }

}

martes, 19 de noviembre de 2019

Búsqueda binaria en estructura de datos, data structure and binary search

 

package prylista;


public class Lista {
    private Nodo inicio;
    private Nodo fin;
    
    public Lista(){
        inicio=fin=null;
    }
    
    public boolean esVacia(){
      return inicio==fin && fin==null;
    }
    
    public void insertarInicio(int dato){
        Nodo n=new Nodo(dato, inicio);
        if(esVacia()){
           inicio=fin=n;
        }else{
          inicio=n;
        }
    }
    public void insertarFin(int dato){
        Nodo n=new Nodo(dato, null);
        if(esVacia()){
           inicio=fin=n;
        }else{
            fin.setSiguiente(n);
            fin=n;
        }
    }
    
    public int size(){
        Nodo aux=inicio;
        int cont=0;
        while(aux!=null){
           cont++;
           aux=aux.getSiguiente();
        }
        return cont;
    }
    
    public int valorIndice(int indice){
        Nodo aux=inicio;
        int cont=0;
        while(contfin.getDato())
            return -1;
        int inf=0;
        int sup=size()-1;
        
        while(sup>=inf){
            int c=(inf+sup)/2;
            if(valor==valorIndice(c)){
               return c;
            }else if(valor>valorIndice(c)){
                inf=c+1;
            }else{
                sup=c-1;
            }
        }
        return -1;
    }
    
    public void imprimir() throws Exception{
      if(esVacia())
          throw new Exception("Vacia");
      Nodo aux=inicio;
      while(aux!=null){
          System.out.println(aux.getDato());
          aux=aux.getSiguiente();
      }
      
    
    }
    
}