Matemáticas Discretas TC1003 Árboles: Definiciones y Resultados Básicos Departamento de Matemáticas / Centro de Sistema Inteligentes ITESM Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 1/14 Árboles: Definición Un grafo G se dice que es un árbol si es un grafo conexo y no existe ningún circuito en él. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 2/14 Árboles: Definición Un grafo G se dice que es un árbol si es un grafo conexo y no existe ningún circuito en él. Un árbol trivial es un grafo que consiste de un solo vértice. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 2/14 Árboles: Definición Un grafo G se dice que es un árbol si es un grafo conexo y no existe ningún circuito en él. Un árbol trivial es un grafo que consiste de un solo vértice. Un grafo sin circuitos se dice bosque. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 2/14 Ejemplos de grafos que son árboles G1 G2 G3 Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos G4 Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 3/14 Ejemplos de grafos que no son árboles G1 G2 G3 Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos G4 Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 4/14 Uso de árboles: Árbol de Decisión Se desean eligir los puestos de Director y Auxiliar de Director entre Lucía, María, Tomás y Juan. Se tiene que ni Lucía ni María serán eligidas para director. También se sabe que habiendo elegido a Tomás como director Lucía no debería ser auxiliar suyo. Construir el árbol de decisión. Solución Elegir Director Juan Inicio María Lucía Tomás Elegir Auxiliar Selección Tomás Director: Juan, Auxiliar: Tomás Lucía Director: Juan, Auxiliar: María María Director: Juan, Auxiliar: María Juan Director: Tomás, Auxiliar: Juan Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Lucía María Director: Tomás, Auxiliar: María Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 5/14 Vértices Internos y Vértices Terminales Sea T un árbol: Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 6/14 Vértices Internos y Vértices Terminales Sea T un árbol: ■ Si T tiene sólo uno o dos vértices, a cada uno de ellos se les llamará vértices terminales. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 6/14 Vértices Internos y Vértices Terminales Sea T un árbol: ■ Si T tiene sólo uno o dos vértices, a cada uno de ellos se les llamará vértices terminales. ■ Si T tiene tres vértices o más entonces Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 6/14 Vértices Internos y Vértices Terminales Sea T un árbol: ■ Si T tiene sólo uno o dos vértices, a cada uno de ellos se les llamará vértices terminales. ■ Si T tiene tres vértices o más entonces ◆ a cada vértice de grado 1 se le llamará vértice hoja o vértice terminal. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 6/14 Vértices Internos y Vértices Terminales Sea T un árbol: ■ Si T tiene sólo uno o dos vértices, a cada uno de ellos se les llamará vértices terminales. ■ Si T tiene tres vértices o más entonces ◆ a cada vértice de grado 1 se le llamará vértice hoja o vértice terminal. ◆ a cada vértice de grado mayor o igual que 2 se le llamará vértice rama o vertice interno. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 6/14 Árboles: Resultados Principales Sea G un grafo conexo: Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 7/14 Árboles: Resultados Principales Sea G un grafo conexo: ■ G es un árbol si y sólo si entre cualquier dos vértices de G existe solamente un camino que los une. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 7/14 Árboles: Resultados Principales Sea G un grafo conexo: ■ G es un árbol si y sólo si entre cualquier dos vértices de G existe solamente un camino que los une. ■ Si teniendo G n vértices: G es un árbol si y sólo si G tiene exactamente n − 1 lados. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 7/14 Árboles: Resultados Principales Sea G un grafo conexo: ■ G es un árbol si y sólo si entre cualquier dos vértices de G existe solamente un camino que los une. ■ Si teniendo G n vértices: G es un árbol si y sólo si G tiene exactamente n − 1 lados. ■ G es un árbol si y sólo si cualquier vértice de grado mayor o igual que dos es un vértice puente. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 7/14 Árbol Enraizado: Definición Un árbol enraizado es un árbol donde existe un vértice distinguido o especial llamado raíz. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 8/14 Árbol Enraizado: Definición Un árbol enraizado es un árbol donde existe un vértice distinguido o especial llamado raíz. ■ El nivel de un vértice v es la longitud del camino del nodo raíz a vértice v. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 8/14 Árbol Enraizado: Definición Un árbol enraizado es un árbol donde existe un vértice distinguido o especial llamado raíz. ■ ■ El nivel de un vértice v es la longitud del camino del nodo raíz a vértice v. La altura del árbol enraizado es el mayor nivel que tienen los nodos. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 8/14 Árbol Enraizado: Definición Un árbol enraizado es un árbol donde existe un vértice distinguido o especial llamado raíz. ■ ■ ■ El nivel de un vértice v es la longitud del camino del nodo raíz a vértice v. La altura del árbol enraizado es el mayor nivel que tienen los nodos. Los hijos de un nodo son los vértices adyacentes al nodo y que están en un nivel mayor que el nodo. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 8/14 Árbol Enraizado: Definición Un árbol enraizado es un árbol donde existe un vértice distinguido o especial llamado raíz. ■ ■ ■ ■ El nivel de un vértice v es la longitud del camino del nodo raíz a vértice v. La altura del árbol enraizado es el mayor nivel que tienen los nodos. Los hijos de un nodo son los vértices adyacentes al nodo y que están en un nivel mayor que el nodo. Si v es un hijo de w, w se dice padre de v. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 8/14 Árbol Enraizado: Definición Un árbol enraizado es un árbol donde existe un vértice distinguido o especial llamado raíz. ■ ■ ■ ■ ■ El nivel de un vértice v es la longitud del camino del nodo raíz a vértice v. La altura del árbol enraizado es el mayor nivel que tienen los nodos. Los hijos de un nodo son los vértices adyacentes al nodo y que están en un nivel mayor que el nodo. Si v es un hijo de w, w se dice padre de v. Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Si v y w son hijos de un mismo padre se llaman hermanos. Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 8/14 Árbol Enraizado: Definición Un árbol enraizado es un árbol donde existe un vértice distinguido o especial llamado raíz. ■ ■ ■ ■ ■ ■ El nivel de un vértice v es la longitud del camino del nodo raíz a vértice v. La altura del árbol enraizado es el mayor nivel que tienen los nodos. Los hijos de un nodo son los vértices adyacentes al nodo y que están en un nivel mayor que el nodo. Si v es un hijo de w, w se dice padre de v. Si v y w son hijos de un mismo padre se llaman hermanos. Si v está en el camino de la raíz a w se dice que v es un ancestro de w o que w es un descendiente de v. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 8/14 Ejemplo de árbol enraizado Considere el árbol con raíz v0 v0 v1 v2 v4 v7 v8 v3 v5 v9 a. Nivel de v5 : c. Altura del árbol: e. Padre de v2 : g. Descendientes de v3 : Árboles: Definiciones y Resultados Básicos v6 Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos v10 b. Nivel de v0 : d. Hijos de v3 : f. Hermanos de v8 : h. Ancestros de v5 : Matemáticas Discretas - p. 9/14 Ejemplo de árbol enraizado Considere el árbol con raíz v0 v0 v1 v2 v4 v7 v8 v3 v5 v9 a. Nivel de v5 : 2 c. Altura del árbol: 3 e. Padre de v2 : v0 g. Descendientes de v3 : v5 , v6 y v10 Árboles: Definiciones y Resultados Básicos v6 Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos v10 b. Nivel de v0 : 0 d. Hijos de v3 : v5 y v6 f. Hermanos de v8 : v7 y v9 h. Ancestros de v5 : v0 y v3 Matemáticas Discretas - p. 9/14 Árbol Binario: Definición Un árbol binario es un árbol enraizado donde cada nodo tiene a lo más dos hijos. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 10/14 Árbol Binario: Definición Un árbol binario es un árbol enraizado donde cada nodo tiene a lo más dos hijos. ■ Cada hijo se designa se designa por el calificativo hijo derecho o hijo izquierdo. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 10/14 Árbol Binario: Definición Un árbol binario es un árbol enraizado donde cada nodo tiene a lo más dos hijos. ■ Cada hijo se designa se designa por el calificativo hijo derecho o hijo izquierdo. ■ El árbol binario se dice árbol binario completo si todo padre tiene exactamente dos hijos. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 10/14 Árbol Binario: Definición Un árbol binario es un árbol enraizado donde cada nodo tiene a lo más dos hijos. ■ Cada hijo se designa se designa por el calificativo hijo derecho o hijo izquierdo. ■ El árbol binario se dice árbol binario completo si todo padre tiene exactamente dos hijos. ■ Para cada padre v el subárbol izquierdo es el subgrafo de G que es el árbol enraizado con raíz el hijo izquierdo de v; Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 10/14 Árbol Binario: Definición Un árbol binario es un árbol enraizado donde cada nodo tiene a lo más dos hijos. ■ Cada hijo se designa se designa por el calificativo hijo derecho o hijo izquierdo. ■ El árbol binario se dice árbol binario completo si todo padre tiene exactamente dos hijos. ■ Para cada padre v el subárbol izquierdo es el subgrafo de G que es el árbol enraizado con raíz el hijo izquierdo de v; el subárbol derecho es el subgrafo de G que es el árbol enraizado con raíz el hijo derecho de v; Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 10/14 Árboles Binarios: Resultados principales ■ Si T es un árbol binario que tiene n nodos terminales y que tiene altura h entonces n ≤ 2h Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 11/14 Árboles Binarios: Resultados principales ■ Si T es un árbol binario que tiene n nodos terminales y que tiene altura h entonces n ≤ 2h ■ Sea T un árbol binario completo con k vértices internos. Entonces T tiene un total de 2 k + 1 vértices k + 1 de los cuales son terminales. Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 11/14 Ejemplos de conteo en árboles binarios Pregunta: Un árbol binario T tiene 44 nodos terminales entonces tiene una altura mayor o igual que ... Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 12/14 Ejemplos de conteo en árboles binarios Pregunta: Un árbol binario T tiene 44 nodos terminales entonces tiene una altura mayor o igual que ... Solución Por el resultado principal para árboles binarios, si h es la altura: Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos 40 = no. nodos terminales ≤ 2h Entoces tomando logaritmo en base 2 obtenemos: 5.321 ≤ h Como h debe ser entero, entonces la altura del árbol es mayor o igual que 6. Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 12/14 Pregunta: Un árbol binario completo T tiene 79 vértices totales, entonces el número de vértices internos es: Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 13/14 Pregunta: Un árbol binario completo T tiene 79 vértices totales, entonces el número de vértices internos es: Solución Por el resultado principal en árboles binarios completos: Si k es el número total de vértices internos en un árbol binario completo, entoces el número total de vértices es 2 k + 1, por tanto: Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos 2 k + 1 = 79 Despejando k, tenemos que k = 39. Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 13/14 Pregunta: Un árbol binario completo T tiene 83 vértices totales, entonces el número de vértices terminales es: Árboles: Definiciones y Resultados Básicos Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos Matemáticas Discretas - p. 14/14 Pregunta: Un árbol binario completo T tiene 83 vértices totales, entonces el número de vértices terminales es: Solución Por el resultado principal en árboles binarios completos: Si k es el número total de vértices internos en un árbol binario completo, entoces el número total de vértices es 2 k + 1, por tanto: Árbol Ejemplo 1 Ejemplo 2 Ejemplo 3 Vértices Resultados 1 Árbol enraizado Ejemplo 4 Árbol binario Resultados 2 Ejemplos 2 k + 1 = 83 Despejando k, tenemos que k = 41, es decir el número total de vértices internos es 41. Por tanto, el total de vértices terminales es: n − k = 83 − 41 = 42 Árboles: Definiciones y Resultados Básicos Matemáticas Discretas - p. 14/14