Вы находитесь на странице: 1из 4

DEFINICION:

Qué es un árbol

Un árbol se define como una colección de nodos donde cada uno además de almacenar
información, guarda las direcciones de sus sucesores.

Los árboles representan las estructuras no-lineales y dinámicas de datos más importantes en
computación.

Dinámicas, puesto que la estructura árbol puede cambiar durante la ejecución de un programa.

No- lineales puesto que a cada elemento del árbol pueden seguirle varios elementos.

EXPLICACION SOBRE LA FORMA EN QUE FUNCIONA LA ESTRUCTURA :

public void insertar (int info)

Nodo nuevo;

nuevo = new Nodo ();

nuevo.info = info;

nuevo.izq = null;

nuevo.der = null;

if (raiz == null)

raiz = nuevo;

else

Nodo anterior = null, reco;

reco = raiz;

while (reco != null)

anterior = reco;

if (info < reco.info)

reco = reco.izq;

else
reco = reco.der;

if (info < anterior.info)

anterior.izq = nuevo;

else

anterior.der = nuevo;

Creamos un nodo y disponemos los punteros izq y der a null, guardamos la información que llega
al método en el nodo.
Si el árbol está vacío, apuntamos raíz al nodo creado; en caso de no estar vacío, dentro de una
estructura repetitiva vamos comparando info con la información del nodo, si info es mayor a la del
nodo descendemos por el subárbol derecho en caso contrario descendemos por el subárbol
izquierdo.
Cuando se encuentra un subárbol vacío insertar el nodo en dicho subárbol. Para esto llevamos un
puntero anterior dentro del while.

private void imprimirPre (Nodo reco)

if (reco != null)

System.out.print(reco.info + " ");

imprimirPre (reco.izq);

imprimirPre (reco.der);

public void imprimirPre ()

imprimirPre (raiz);

System.out.println();

}
El método imprimirPre(), es decir el no recursivo se encarga de llamar al método recursivo
pasando la dirección del nodo raiz.

El método recursivo void imprimirPre (Nodo reco) lo primero que verifica con un if si reco está
apuntando a un nodo (esto es verdad si reco es distinto a null), en caso afirmativo ingresa al
bloque del if y realiza:

- Visitar la raiz.

- Recorrer el subárbol izquierdo en pre-orden.

- Recorrer el subárbol derecho en pre-orden.

La visita en este caso es la impresión de la información del nodo y los recorridos son las llamadas
recursivas pasando las direcciones de los subárboles izquierdo y derecho.

Los algoritmos de los recorridos en entreorden y postorden son similares. La diferencia es que la
visita la realizamos entre las llamadas recursivas en el recorrido en entre orden:

private void imprimirEntre (Nodo reco)

if (reco != null)

imprimirEntre (reco.izq);

System.out.print(reco.info + " ");

imprimirEntre (reco.der);

y por último en el recorrido en postorden la visita la realizamos luego de las dos llamadas
recursivas:

private void imprimirPost (Nodo reco)

if (reco != null)

imprimirPost (reco.izq);

imprimirPost (reco.der);

System.out.print(reco.info + " ");

}
}

METODOS Y OPERACIONES DE ARBOLES:

Métodos

add : Permite agregar un nuevo valor al árbol binario

find : Permite buscar un valor en el árbol binario

printInOrder : Permite imprimir el árbol en modo In order

printPreOrder : Permite imprimir el árbol en modo Pre Order

printPosOrder : Permite imprimir el árbol en modo Pos Order

Operaciones:

CREAR ARBOL

AGREGAR

BUSCAR

IMPRIMIR

BORRAR

- Aplicaciones de los Arboles.

De las estructuras de datos de tipo Árbol, la especie más utilizada esel Árbol Binario de Búsqueda.
Los principales tipos de árboles binariosde búsqueda son los AVL, B* y balanceado.Los árboles
binarios de búsqueda se utilizan para localizar en formarápida un elemento almacenado en ese
árbol, a partir de una clave.Son una forma de implementar arreglos asociativos o mapas, endonde
se almacenan elementos que son pares <clave, valor>.En las bases de datos relacionales, para
poder localizar en formarápida un registro de una taba a partir de una clave, se utilizanobjetos
asociados a las tablas llamados índices. Estos índices sonárboles binarios de búsqueda
almacenados en el disco, que a partirde una clave indican dónde se encuentra el registro
correspondienteen la tabla.Otro ejemplo de la utilización de árboles binarios de búsqueda sonlos
diccionarios. A partir de una palabra, se realiza una búsqueda enel árbol para saber si está incluida
en el conjunto, y si existe, seobtienen sus datos asociados (por ejemplo, si es un verbo,
unsustantivo, un artículo, etc.).En Teoría de Compiladores, durante la fase de análisis del
códigofuente, los analizadores léxico, sintáctico y semántico utilizan tablasde símbolos, en donde
se almacenan las palabras clave y laspalabras reservadas y sus atributos, implementadas (por lo
general)como árboles binarios de búsqueda.En síntesis, se utiliza un árbol binario de búsqueda
cuando se deseaalmacenar en una estructura de datos cierta información, a la cualluego se desea
acceder en forma rápida a partir de una clave.

Вам также может понравиться