Ejemplo n.º 1
0
        private string postorden2(NodoABB rama, ref string cadena)
        {
            if (rama != null)
            {
                postorden2(rama.izquierdo, ref cadena);
                postorden2(rama.derecho, ref cadena);

                if (String.IsNullOrEmpty(cadena) == true)
                {
                    cadena += rama.dato;
                }
                else
                {
                    cadena += ", " + rama.dato;
                }
            }

            return(cadena);
        }
Ejemplo n.º 2
0
        private void graficar2(NodoABB rama, ref string cadena)
        {
            if (rama != null)
            {
                cadena += "nodo" + rama.dato + "[label = \" <f2>|<f1> " + rama.dato + " |<f0> \"];\n";

                graficar2(rama.izquierdo, ref cadena);
                graficar2(rama.derecho, ref cadena);

                if (rama.izquierdo != null)
                {
                    cadena += "\"nodo" + rama.dato + "\":f2 -> \"nodo" + rama.izquierdo.dato + "\":f1;\n";
                }

                if (rama.derecho != null)
                {
                    cadena += "\"nodo" + rama.dato + "\":f0 -> \"nodo" + rama.derecho.dato + "\":f1;\n";
                }
            }
        }
Ejemplo n.º 3
0
        private NodoABB insertar2(NodoABB rama, NodoABB nuevo)
        {
            if (rama == null)
            {
                rama = nuevo;
            }
            else
            {
                if (rama.dato.Equals(nuevo.dato) == false)
                {
                    if (compararCadenas(rama.dato, nuevo.dato).Equals(nuevo.dato) == true)
                    {
                        rama.derecho = insertar2(rama.derecho, nuevo);
                    }
                    else if (compararCadenas(rama.dato, nuevo.dato).Equals(rama.dato) == true)
                    {
                        rama.izquierdo = insertar2(rama.izquierdo, nuevo);
                    }
                }
            }

            return(rama);
        }
Ejemplo n.º 4
0
        public void insertar(string dato)
        {
            NodoABB nuevo = new NodoABB(dato);

            if (this.raiz == null)
            {
                this.raiz = nuevo;
            }
            else
            {
                if (this.raiz.dato.Equals(dato) == false)
                {
                    if (compararCadenas(dato, this.raiz.dato).Equals(dato) == true)
                    {
                        this.raiz.derecho = insertar2(this.raiz.derecho, nuevo);
                    }
                    else if (compararCadenas(dato, this.raiz.dato).Equals(this.raiz.dato) == true)
                    {
                        this.raiz.izquierdo = insertar2(this.raiz.izquierdo, nuevo);
                    }
                }
            }
        }
Ejemplo n.º 5
0
 public void limpiar()
 {
     this.raiz = null;
 }
Ejemplo n.º 6
0
 public ABB()
 {
     this.raiz = null;
 }
Ejemplo n.º 7
0
 public NodoABB(string dato)
 {
     this.dato      = dato;
     this.izquierdo = null;
     this.derecho   = null;
 }