Los grafos G1 y G2 son árboles, mientras que los grafos G3 y G4 no lo son.
Un bosque es un grafo donde cada componente conexa es un árbol. Definición equivalente: Un bosque es un grafo acíclico. El grafo G4 del ejemplo anterior es un bosque. Caracterizaciones de los árboles El grafo T =(V, E) es un árbol si y solo si todo par de vértices de T están conectados por un único camino simple. Demostración. => T es un árbol =>T conexo => Dados u,v ∈V existe al menos un camino simple que los une. Supongamos que entre los vértices u y v existen dos caminos simples. Denotemos por x el vértice donde estos caminos divergen por primera vez y por w el vértice donde estos caminos convergen nuevamente. Por tanto los dos caminos diferentes entre los vértices x y w forman un ciclo, lo cual contradice la definición de árbol. <= Supongamos que para todo par u,v ∈V existe un único camino simple que los une. Entonces T es conexo y acíclico, pues de existir un ciclo existirían dos vértices conectados por dos caminos. TERMINOLOGÍA DE ÁRBOL ENRAIZADA En términos matemáticos, un árbol ( tree ) es cualquier conjunto de puntos, llamados vértices, y cualquier conjunto de pares de distintos vértices, llamados lados ( edges ) o ramas ( branches ), tales que : Hay una secuencia de ramas, llamada paso ( path ) de cualquier vértice a cualquier otro vértice. No hay lazos ( circuits ), o sea, que no hay pasos que comiencen en un vértice y puedan volver al mismo vértice. Llamaremos a un árbol de tal generalidad, un árbol libre ( free tress ). Los árboles que tienen un vértice o nodo ( node ) especial, llamado raíz ( root ), reciben el nombre de árboles enraizados ( rooted tree ). La particularidad del nodo raíz es que no puede ser hijo de otro nodo. Un árbol A es un conjunto finito de uno o más nodos tales que: Existe un nodo especialmente designado y denominado RAIZ(v1) del árbol. Los nodos restantes ( v2, v3, ..., vn ) se dividen en m >= 0 conjuntos disjuntos denominados A1, A2, ..., Am, cada uno de los cuales es a su vez, un árbol. Estos árboles se llaman subárboles ( subtree ) del RAIZ. Observar la naturaleza recursiva de la definición de árbol. Un árbol es una estructura de datos no lineal. Las estructuras de datos lineales se caracterizan por que a cada elemento le corresponde no más que un elemento siguiente. En las estructuras de datos no lineales, como el árbol, un elemento puede tener diferentes " siguientes elementos ", introduciendo una estructura de bifurcación, también conocidas como estructuras multi enlazada. Un árbol es un conjunto finito de elementos no vacío en el cual un elemento se denomina raíz y los restantes se dividen en m >= 0 subconjuntos separados, cada uno de los cuales es por sí mismo un árbol. Cada elemento en un árbol se denomina nodo del árbol. Un árbol ordenado ( ordened tree ) se define como un árbol en el que los subárboles de cada nodo forman un conjunto ordenado. En una árbol ordenado podemos hablar del primero, segundo o último hijo de un nodo particular. El primer hijo de un nodo, en un árbol ordenado, se denomina con frecuencia el hijo más viejo de este nodo y el último hijo, se denomina el hijo más joven. Un árbol desordenado ( desordened tree ) se define como un árbol en el que los subárboles de cada nodo no guardan orden alguno. No existe forma, en este tipo de árboles, determinar cuál es el primero, segundo o último hijo. La estructura de datos arboles es para mostrar datos jerárquicos.
ÁRBOLES ENRAIZADOS M-ARY
Es una estructura de datos en la cual cada nodo puede tener un hijo izquierdo y un hijo derecho. No pueden tener más de dos hijos (de ahí el nombre "binario"). Si algún hijo tiene como referencia a null, es decir que no almacena ningún dato, entonces este es llamado un nodo externo. En el caso contrario el hijo es llamado un nodo interno. Usos comunes de los árboles binarios son los árboles binarios de búsqueda, los montículos binarios y Codificación de Huffman. En teoría de grafos, se usa la siguiente definición: «Un árbol binario es un grafo conexo, acíclico y no dirigido tal que el grado de cada vértice no es mayor a 3». De esta forma solo existe un camino entre un par de nodos. Un árbol binario con enraizado es como un grafo que tiene uno de sus vértices, llamado raíz, de grado no mayor a 2. Con la raíz escogida, cada vértice tendrá un único padre, y nunca más de dos hijos. Si rehusamos el requerimiento de la conectividad, permitiendo múltiples componentes conectados en el grafo, llamaremos a esta última estructura un bosque. ÁRBOLES ENRAIZADOS ORDENADOS Son una clase especial de árboles binarios en el que existe algún orden sobre los datos almacenados en ellos. Mantiene sus datos de tal manera que siempre es posible recuperarlo en el orden dado.
En este caso para cada nodo su hijo
izquierdo es menor y su hijo derecho es mayor. (Puede ser al revés)
Diremos que un grafo dirigido es un
árbol dirigido si se convierte en un árbol cuando se ignoran las direcciones de sus aristas.
Un árbol dirigido es un árbol enraizado si existe exactamente un vértice cuyo
grado de entrada sea 0 y los grados de entrada de los otros vértices sea 1. El vértice con grado de entrada 0 es llamado raíz del árbol enraizado. PROPIEDADES DE LOS ÁRBOLES Las siguientes son las características y propiedades más importantes de los árboles en general: 1. Todo árbol que no es vacío, tiene un único nodo raíz. 2. Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por el nodo Y. en este caso es común utilizar la expresión X es hijo de Y. 3. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. en este caso es común utilizar la expresión X es padre de Y. 4. Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo (padre), son hermanos. 5. Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de terminal u hoja. 6. Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de interior. 7. Grado es el número de descendientes directos de un determinado nodo. Grado del árbol es el máximo grado de todos los nodos del árbol, es decir, el grado más alto entre todos los nodos. 8. Nivel es el número de arcos que deben ser recorridos para llegar a un determinado nodo. Por definición la raíz tiene nivel 1. 9. Altura del árbol es el máximo número de niveles de todos los nodos del árbol. A continuación se presenta un ejemplo para clarificar estos conceptos: 1.- 8 es la raíz del árbol. 2.- 3 es hijo de 8. 10 es hijo de 8. 1 es hijo de 3. 14 es hijo de 10. 13 es hijo de 14. 3.- 8 es padre de 3. 3 es padre de 6. 6 es padre de 7. 10 es padre de 14. 14 es padre de 13. 4.- 3 y 10 son hermanos. 1y6 son hermanos. 4y7 son hermanos. 5.- 1, 4, 7, 13 son nodos terminales u hojas. 6.- 6, 14, 10,3 son nodos interiores.
7.- El grado del nodo 8 es 2.
El grado del nodo 3 es 2. El grado del nodo 6 es 2. El grado del nodo 14 es 1. El grado del nodo 1 es 0. El grado del árbol es 3. 8.- El nivel del nodo 8 es 1. El nivel del nodo 3 es 2. El nivel del nodo 6 es 3. El nivel del nodo 10 es 2. El nivel del nodo 13 es 4. ÁRBOLES M-ARY EQUILIBRADOS Es un tipo especial de árbol binario ideado por los matemáticos rusos Adelson- Velskii y Landis. Fue el primer árbol de búsqueda binario auto-balanceable que se ideó. Están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama izquierda no difiere en más de una unidad de la altura de la rama derecha o viceversa. Gracias a esta forma de equilibrio (o balanceo), la complejidad de una búsqueda en uno de estos árboles se mantiene siempre en orden de complejidad O(log n). El factor de equilibrio puede ser almacenado directamente en cada nodo o ser computado a partir de las alturas de los subárboles. Para conseguir esta propiedad de equilibrio, la inserción y el borrado de los nodos se han de realizar de una forma especial. Si al realizar una operación de inserción o borrado se rompe la condición de equilibrio, hay que realizar una serie de rotaciones de los nodos.