Documentos de Académico
Documentos de Profesional
Documentos de Cultura
René Ornelis
Vacaciones de diciembre 2023
Contenido
1 Introducción ............................................................................................................................. 4
2 Otras aplicaciones .................................................................................................................... 4
3 La teoría de grafos y los árboles .............................................................................................. 5
3.1 Terminología .................................................................................................................... 6
4 Representaciones de árboles en memoria ................................................................................ 7
4.1 Codificación de árboles n-arios como árboles binarios ................................................... 8
5 Recorridos ................................................................................................................................ 8
Índice de figuras
Figura 1: Árbol de directorios y archivos ....................................................................................... 5
Figura 2: Terminología de árboles .................................................................................................. 6
Figura 3: Representación dinámica ................................................................................................. 7
Figura 4: Representación estática ................................................................................................... 7
Figura 5: Representación primer hijo/siguiente hermano ............................................................... 8
Conceptos generales de árboles
1 Introducción
En esta unidad vamos la estructura de datos llamada árbol. Como vimos en la unidad
anterior, los arreglos lexicográficos suelen ser una solución bastante eficiente en su tiempo de
respuesta, con un orden constante ( O(n) = k ), lo que significa que siempre tardará el mismo
tiempo, sin importar la cantidad de datos, ya que sólo depende del número de dimensiones (k).
Sin embargo, hay casos en los cuales no aplica el uso de arreglos:
En estos casos, se necesita una estructura que pueda acceder cada elemento por una llave y
no un sistema de coordenadas, y es aquí donde nos resulta de utilidad los árboles como estructura
contenedora de elementos.
2 Otras aplicaciones
Adicional a ser un contenedor, los árboles tienen una gran cantidad de aplicaciones, entre
ellos están los:
Grafo: es una colección de vértices V, y una colección de lados L, donde por cada lado en
L, hay una línea que une un par de vértices en V
Ruta: de longitud n, es una secuencia de lados l1l2…ln, donde lado lk comparte un vértice
en común con el lado precedentelk-1, y un vértice en común con el lado subsiguiente lk+1,
para 1 < k < n. Otra definición es: Ruta de longitud n es un conjunto de vértices v0v1…vn,
tal que vk-1 es adyacente a vk, para 1 < k < n.
Ruta Simple: cuando todos los vértices en él son distintos, excepto posiblemente por el
primero y último
Ciclo: es una ruta de longitud tres o más, que conecta un vértice v con él mismo.
Grafo Conectado: es aquel donde existe, al menos una ruta de un vértice a otro.
Árbol orientado: es un grafo donde cada lado L es un par de vértices de la forma (v, v’)
donde se dice que v es el origen y v’ es el destino y la dirección de L va de v a v’, y se
toma un vértice r como la raíz donde inicia el grafo.
Árbol ordenado: es un conjunto finito de uno o más vértices tales que hay un vértice
designado r, llamado la raíz, y tal que los vértices restantes, son divididos en n > 0
subconjuntos mutuamente exclusivos, cada uno de los cuales son a la vez árboles
ordenados.
Árbol binario: Es un conjunto finito de vértices que están vacíos o consiste en un vértice
llamado raíz y dos subárboles binarios, los cuales son disjuntos uno del otro, y son
llamados subárboles izquierdo y derecho
Árbol binario lleno: Es un árbol binario en el cual cada nodo o es hoja o tiene
exactamente dos descendientes no vacíos.
Árbol binario completo: es un árbol binario con hojas en los dos últimos niveles y en las
hojas del último nivel están a la izquierda
3.1 Terminología
Para fines del resto de la unidad, adoptaremos la terminología de árboles que se ilustra en
la Figura 2.
Raíz: El nodo en el inicio del árbol, desde el cual se inician todos los caminos
Nivel: Cada paso desde la raíz hasta el fondo, es llamado un nivel. La raíz está en el
nivel 1 y se incrementa en cada nivel.
Padre: El predecesor de cada nodo es llamado el nodo padre. Otra forma de decirlo, es
que un padre es el nodo que tiene hijos
Hijo: Es cualquier nodo que desciende de otro nodo (nodo padre). Cualquier otro nodo
que no sea la raíz
Hermanos: Nodos que son hijos de un mismo padre
Nodo hoja: Nodo que no tiene hijos. También es llamado nodo terminal.
Altura: Es la longitud de la ruta más larga, entre la raíz y cualquier nodo hoja.
5 Recorridos
1. Preorden
2. En orden
3. Postorden
4. Por niveles
5. Circuito de Euler
6. Circuito externo
Cada recorrido genera una secuencia de llaves, que determina una relación de sucesor y
predecesor en cada recorrido
Ejemplo: en el siguiente árbol
Tiene las siguientes secuencias: