You are on page 1of 10

Arboles:

Un rbol es un grafo simple en el cual existe un nico camino entre cada par de vrtices. Sea G =(V,A) un grafo no dirigido. G se denomina ARBOL, si es conexo y no contiene ciclos. Un rbol con raz, es un rbol que tiene un vrtice particular designado como raz. Ejemplo de rbol:

En la figura anterior G1 corresponde a lo que llamamos mediante la definicin ARBOL, en el caso de G2, ste no corresponde debido a que contiene un ciclo. Podemos destacar que cuando un grafo G es un Arbol, se reemplaza G, por R. En la figura mostrada G1 es un subgrafo de G2, en el que G1 contiene los vrtices de G2 y es rbol, adems lo llamaremos rbol abarcador, por que proporciona conexin minimal para el grafo y un esqueleto minimal que une los vrtices. Ejemplo de rbol raz:

Para apoyar el entendimiento de las definiciones entregadas agregaremos algunos teoremas. Teorema: Si a, b son vrtices de un rbol R (V,A), entonces hay un camino nico que conecta estos vrtices. Teorema: En cualquier rbol R= (V,A), |V| = |A| + 1. Teorema: Para cualquier rbol R = (V,A), si |A| >= 2, entonces R tiene al menos dos vrtices colgantes. Teorema: Sea G un grafo simple con v vrtices, entonces se puede decir: G es un rbol. G es conexo y no contiene circuitos. G es conexo y tiene (n-1) lados. G no contiene circuitos y tiene (n-1) lados.

Arboles con Raz Sea G un grafo dirigido, se denomina rbol dirigido si el grafo no dirigido asociado con G es un rbol. Cuando G es un rbol dirigido, se denomina rbol con raz si hay un nico vrtice r, la raz. Sea G un grafo con raz V0. Supngase que x, y, z son vrtices en G y que (v0, v1, ..., vn), es un camino en G. V(n-1) es el padre de v(n). V0, v1, ..., v(n-1) son los antepasados de v(n).

V(n) es el hijo de v(n-1). Si x es un antepasado de y, entonces y es un descendiente de x. Si x e y son hijos de z entonces x e y son hermanos. Si x no tiene hijos entonces x es un vrtice terminal. Si x no es un vrtice terminal, entonces x es un vrtice interno. El subgrafo de G que consiste en x y todos sus descendientes, con x como raz, es el subarbol de G que tiene a x como raz.

Sea R= (V,A) un rbol con raz r. Si R no tiene otros vrtices, entonces la raz misma constituye el recorrido en orden previo, simtrico y posterior de R. Si |V| > 1, sean R1, R2, R3, ...., Rk los subarboles de R segn se va de izquierda a derecha. 1. El recorrido de orden previo de R comienza en r y despus pasa por los vrtices de R1 en orden previo, a continuacin por los vrtices de R2 en orden previo, y as sucesivamente hasta que se pasa por los vrtices de Rk en orden previo. 2. El recorrido en orden simtrico de R primero, se pasa por los vrtices de R1 en orden simtrico, despus por la raz r y a continuacin por los vrtices de los subarboles R2, R3,...., Rk en orden simtrico. 3. El recorrido en orden posterior de R pasa por los vrtices de los subarboles R1, R2,...., Rk en orden posterior y a continuacin por la raz. Un rbol binario es uno con raz en el cual cada vrtice tiene un hijo a la derecha o un hijo a la izquierda, o viceversa, o bien ningn hijo. Un rbol binario completo es uno en el cual cada vrtice tiene un hijo a la derecha y uno a la izquierda, o bien ningn hijo. Teorema: Si T es un rbol binario completo con i vrtices internos, entonces T tiene i + 1 vrtices terminales y 2i + 1 vrtices en total. Un rbol binario de bsqueda es un rbol binario T donde se han asociado datos a los vrtices. Los datos se disponen de manera que para cualquier vrtice v en T, cada dato en el subarbol a la izquierda de v es menor que el dato correspondiente a v.

Arboles generadores: Un rbol T es un rbol generador de un grafo G si T es un subgrafo de G que contiene todos los vrtices de G. A esta caracterstica general es posible agregar ciertos teoremas de modo de detallar an ms el alcance de la definicin. Es as como el Grafo que contiene a T debe ser conexo, pues de lo contrario no existira un subgrafo que contuviera todos sus vrtices. En general un grafo G tendr varios rboles generadores ,como el del ejemplo 1 el cual tiene a lo menos dos arboles generadores T1 yT2. Ej.

GrafoG

Arbol T1

Arbol T2

Algoritmos para hallar un rbol generador , que se base en el teorema de que el grafo G debe ser conexo, pueden ser los que se realizan a travs de los mtodos llamados buscar primero a lo ancho , buscar primero a lo largo y el de regreso al nivel anterior.

Arboles Generadores Mnimales. Un Arbol Generador Minimal es el que resulta de la construccin en primer lugar de un Arbol generador, pero con la caracterstica de ser el de menos peso del grafo al cual genera. Por ejemplo sea un grafo ponderado ( con peso) con cinco vrtices. La idea es construir un subgrafo que una a todos los puntos pero con el mnimo de peso (el peso se refiere al valor que se le da a cada uno de los lados de un grafo). Este subgrafo debe ser un rbol generador, ya que debe unir todos los vrtices, debe ser conexo y debe haber un nico camino entre cada par de vrtices, por lo tanto, lo que se necesita es un rbol generador con el mnimo de peso, es a esto lo que se llama rbol generador minimal. Sea G un grafo con peso. Un rbol generador mnimal de G es un rbol generador de G con peso mnimo. Ej.: Sea el Grafo G :

Grafo G

Arbol T1

Arbol T2

Los Arboles T1 y T2 son arboles generadores de G, sin embargo el peso de ambos es distinto (T1=32 y T2=41). Por lo tanto el Arbol Generador Minimal de G es T1. Arboles Generadores Minimales se pueden generar con algoritmos como el Algoritmo de Prim, el cual construye un rbol en forma iterativa, agregando lados hasta obtener un rbol generador minimal. En cada iteracin se coloca un lado de peso mnimo que no forme un circuito con el rbol que se ha construido con iteraciones anteriores. Este algoritmo es un ejemplo de algoritmo voraz, el cual optimiza la seleccin hecha en cada iteracin sin considerar las elecciones que corresponden a iteraciones anteriores. Otro algoritmo que origina un rbol generador minimal en un grafo G de n vrtices, conexo y con peso es el Algoritmo de Kruskal. Este parte con un grafo T que contiene inicialmente todos los vrtices y ningn lado. en cada iteracin se agrega un lado a T de peso mnimo, tal que no complete un circuito en T. Cuando T tenga n-1 lados, se termina.

Bibliografa: 1. Matemticas Discreta y Combinatoria (introduccin y aplicaciones). Ralph P. Grimaldi. Addison-Wesley Iberoamericana, 1989. Wilmington, Delaware, E.U.A. Capitulo 15, Arboles. Paginas 461-492. 2. Matemticas Discretas. Richard Johnsonbaugh. Grupo Editorial Iberoamrica, 1988. Mxico D.F. Capitulo 5, Arboles. Paginas 219-281. 3. Matemtica Discreta (teora y problemas resueltos). Seymour Lipschutz. Mc. Graw-Hill, 1990. Madrid, Espaa. Capitulo 6, Grafos planos, Coloraciones, Arboles. Paginas 111-115.

En ciencias de la informtica, un rbol es una estructura de datos ampliamente usada que imita la forma de un rbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el rbol y puede tener cero o ms nodos hijos conectados a l. Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, tambin decimos que b es hijo de a). Slo puede haber un nico nodo sin padres, que llamaremos raz. Un nodo que no tiene hijos se conoce como hoja. Los dems nodos (tienen padre y uno o varios hijos) se les conoce como rama.
Contenido
[ocultar]

1 Definicin 2 Tipos de rboles 3 Operaciones de rboles. Representacin 4 Uso de los rboles 5 Vase tambin 5.1 Algoritmos de bsqueda en rboles

[editar]Definicin Formalmente, podemos definir un rbol de la siguiente forma: Caso base: un rbol con slo un nodo (es a la vez raz del rbol y hoja). Un nuevo rbol a partir de un nodo nr y k rboles de

races con elementos cada uno, puede construirse estableciendo una relacin padre-hijo entre nr y cada una de las races de los k rboles. El rbol resultante de nodos tiene como raz el nodo nr, los nodos son los hijos de nr y el conjunto de nodos hoja est formado por la unin de los k conjuntos hojas iniciales. A cada uno de los rboles Ai se les denota ahora subrboles de la raz. Una sucesin de nodos del rbol, de forma que entre cada dos nodos consecutivos de la sucesin haya una relacin de parentesco, decimos que es un recorrido rbol. Existen dos recorridos tpicos para listar los nodos de un rbol: primero en profundidad y primero en anchura. En el primer caso, se listan los nodos expandiendo el hijo actual de cada nodo hasta llegar a una hoja, donde se vuelve al nodo anterior probando por el siguiente hijo y as sucesivamente. En el segundo, por su parte, antes de listar los nodos de nivel n + 1 (a distancia n + 1 aristas de la raz), se deben haber listado todos los de nivel n. Otros recorridos tpicos del rbol son preorden, postorden e inorden: El recorrido en preorden, tambin llamado orden previo consiste en recorrer en primer en orden previo.

lugar la raz y luego cada uno de los hijos

El recorrido en inorden, tambin llamado orden simtrico (aunque este nombre slo cobra significado en los rboles binarios) consiste en recorrer en primer lugar A1, luego la raz y luego cada uno de los hijos en orden simtrico.

El recorrido en postorden, tambin llamado orden posterior consiste en recorrer en en orden posterior y por ltimo la raz.

primer lugar cada uno de los hijos

Finalmente, puede decirse que esta estructura es una representacin del concepto de rbol en teora de grafos. Un rbol es un grafo conexo y acclico. [editar]Tipos

de rboles

Ejemplo de rbol (binario).

rboles Binarios rbol de bsqueda binario auto-balanceable rboles AVL rboles Rojo-Negro rbol AA

rboles Multicamino rboles B (Arboles de bsqueda multicamino autobalanceados) rbol-B+ rbol-B*

[editar]Operaciones

de rboles. Representacin

Las operaciones comunes en rboles son: Enumerar todos los elementos. Buscar un elemento. Dado un nodo, listar los hijos (si los hay). Borrar un elemento. Eliminar un subrbol (algunas veces llamada podar). Aadir un subrbol (algunas veces llamada injertar). Encontrar la raz de cualquier nodo.

Por su parte, la representacin puede realizarse de diferentes formas. Las ms utilizadas son:

Representar cada nodo como una variable en el heap, con punteros a sus hijos y a su padre. Representar el rbol con un array donde cada elemento es un nodo y las relaciones padre-hijo vienen dadas por la posicin del nodo en el array. [editar]Uso

de los rboles

Usos comunes de los rboles son: Representacin de datos jerrquicos. Como ayuda para realizar bsquedas en conjuntos de datos (ver tambin: algoritmos de bsqueda en rboles).

You might also like