miércoles, 29 de mayo de 2019

Definición de Árbol

Se entiende por árbol al grafo G=<V,A> que cumple con las propiedades de ser simple, conexo y sin ciclos.
Otra definición equivalente sería:
Un árbol es un grafo simple no dirigido G que satisface:
  1. G es conexo y no tiene ciclos .
  2. G no tiene ciclos y, si se añade alguna arista se forma un ciclo.
  3. G es conexo y si se le quita alguna arista deja de ser conexo.
  4. G es conexo y el grafo completo de 3 vértices  no es un menor de G.
  5. Dos vértices cualquiera de G están conectados por un único camino simple.
Las condiciones anteriores son todas equivalentes, es decir, si se cumple una de ellas otras también se cumplen. Para árboles finitos además se cumple que: Si un árbol G tiene un número finito de vértices, n, entonces tiene n − 1 aristas. (3)
O la siguiente de carácter constructiva:
Un árbol es un grafo G definido recursivamente por las siguientes proposiciones:
  • Un árbol es un solo nodo.
  • Un árbol es un nodo conectado mediante sendas aristas a varios árboles denominados ramas.
Elementos de un árbol


Normalmente se identifica a un vértice como raíz o padre de la cual deriva aristas a otros nodos que se llaman hijos de dicho padre o raíz. A los nodos que no tienen descendencia se les llama hojas. (1) 

Estructura de árbol con su tipo base T

Representación de una estructura de árbol:
a) conjuntos anidados; b) paréntesis anidados; c) sangría (escalonamiento); d) gráfica 

Un arbol ordenado es un árbol en el cual las ramas de cada nodo están ordenadas. En consecuencias, los dos árboles ordenados de la siguiente figura son objetos diferentes:


Un nodo y que está directamente debajo del nodo x se denomina descendiente (directo) de x si x está en el nivel i, entonces que dice que y es un nivel i + i. A la inversa, se dice que el nodo x es el ancestro (directo) de y. La raíz de un árbol se define como localizada en el nivel 0. Se dice que el nivel máximo de cualquier elemento de un árbol es su profunidad o altura.
Si un elemento no tiene descendientes, se le denomina nodo terminal o bien hoja, y un elemento que no es temrinal es un nodo interior. El número de descendientes (directos) de un nodo interior se conoce como su grado. El grado máximo en todos los nodos es el grado de un árbol. El número de ramas o aristas que tienen que ser recorridas a fin de proceder desde la raíz hasta un nodo x se llama longitud de trayectoria de x. La raíz tiene una longitud de trayectoria 0, sus descendientes directos tienen una longitud de trayectoria 1, etcétera. En general, un nodo en el nivel i tiene la longitud de trayectoria i. La longitud de trayectoria de un árbol se define como la suma de las longitudes de trayectoria de todas sus componentes. También se le denomina su longitud de trayectoria interna. (2)

¿Para qué se utilizan los árboles?

Los árboles sirven para organizar y relacionar datos en una base de datos, por ejemplo. Esto permite realizar operaciones de manera eficiente. Por ejemplo, un árbol de definición jerárquica se utiliza para configurar una base de datos para los registros de libros existentes en diversas bibliotecas.

Otro ejemplo de la utilización de árboles son los diccionarios. A partir de una palabra, se realiza una búsqueda en el árbol para saber si está incluida en el conjunto, y si existe, se obtienen sus datos asociados (por ejemplo, si es un verbo, un sustantivo, un artículo, etc.). (4)

Un ejemplo claro de los árboles en la vida cotidiana son los árboles genealógicos. Para este caso, los vértices representan a los miembros de la familia y los arcos representan la relación de parentesco. Conforme los conocimientos adquiridos con anterioridad, el árbol no deja de ser un grafo, pero es del tipo no dirigido.

Ejemplo de árbol genealógico:

En este ejemplo cabe señalar que los recuadros representan los vértices del grafo y los arcos son las líneas que representan las relaciones de parentesco conforme a esta familia (5)









Los árboles son modelos de gran utilidad pues su representación normalmente alude a una estructura jerárquica y este es una de sus principales usos. También se usan mucho en las modelación de búsquedas o problemas que dependan de la representación de una búsqueda en un espacio representable como un grafo.

Computacionalmente aparecen representados como:

  • Listas enlazadas.
  • Matrices de adyacencia.
  • Arreglo lineal.

entre otras formas.

En todos los casos tienen gran utilidad como por ejemplo las estructuración de los sistemas de archivo en UNIX, Linux, Windows, MS-DOS y otros sistemas operativos del lado del usuario a quien se le da la impresión de que se trata de una raíz (/) y que cada subdirectorio es un hijo de / que puede contener a otros subdirectorios dentro y así sucesivamente en una clara estructura arbórea.


Ejemplos de Árboles

Resultado de imagen para ejemplos de árboles jerarquicos

Resultado de imagen para ejemplos de árboles jerarquicos

Resultado de imagen para ejemplos de árboles jerarquicos
Resultado de imagen para ejemplos de árboles jerarquicos

Tipos de recorridos de un Árbol


Para ver cómo es el recorrido en un árbol, tomamos como ejemplo el recorrido en un árbol binario.

Un árbol binario es un tipo de árbol en que cada vértice máximo puede tener dos hijos; su nodo raíz está enlazado a dos subárboles binarios disjuntos denominados subárbol izquierdo y subárbol derecho. Los árboles binarios no son vacíos ya que como mínimo tienen el nodo raíz. (8)





Propiedades de un árbol binario



(6)


Recorridos en un árbol binario

Un recorrido en un árbol binario es una operación que consiste en visitar todos sus vértices o nodos, de tal manera que cada vértice se visite una sola vez.
Se distinguen tres tipos de recorrido: INORDEN, POSORDEN Y PREORDEN.
En cada recorrido se tiene en cuenta la posición de la raíz (de ahí su nombre) y que siempre se debe ejecutar primero el hijo izquierdo y luego el derecho.

  • Recorrido INORDEN. Este recorrido se realiza así: primero recorre el subárbol izquierdo, segundo visita la raíz y por último, va al subárbol derecho. En síntesis:
hijo izquierdo — raíz — hijo derecho
  • Recorrido PREORDEN. Este recorrido se realiza así: primero visita la raíz; segundo recorre el subárbol izquierdo y por último va a subárbol derecho. En síntesis:
raíz — hijo izquierdo — hijo derecho
  • Recorrido POSORDEN. Primero recorre el subárbol izquierdo; segundo, recorre el subárbol derecho y por último, visita la raíz. En síntesis: 
hijo izquierdo– hijo derecho — raíz (7)


Referencias

  1. Árbol (Grafo) - Ecured, enciclopedia cubana - (K. Ribnikov. Análisis Combinatorio. Editorial Mir Moscú. 1988)
  2. Algoritmos y estructura de datos, Niklaus Wirth, 1987 (p. 211, 212)
  3. Árbol (teoría de grafos) - Wikipedia, la enciclopedia libre
  4. Rosen, Kenneth H. – “Matemática Discreta y sus Aplicaciones”
  5. Árboles y Grafos - Monografias.com
  6. Johnsonbaugh, Richard – “Matemáticas Discretas”
  7. Matemáticas Discretas - Unidad 6. Árboles
  8. Capítulo 12: TEORIA DE ARBOLES BINARIOS - Matemáticas Discretas