DISCRETAS II ESTRUCTURAS Estructuras Discretas II rboles Dra
DISCRETAS II ESTRUCTURAS Estructuras Discretas II Árboles Dra. Norka Bedregal Alpaca 1
Árboles § Los árboles representan las estructuras no lineales y dinámicas de datos más importantes en computación. § Se les llama dinámicas porque la estructura árbol puede cambiar durante la ejecución de un programa. § Son no lineales, puesto que a cada elemento del árbol pueden seguirle varios elementos 2 Dra. Norka Bedregal Alpaca
Árboles Ejemplos de Sistemas que pueden representarse mediante árboles: § Un sistema de ficheros § La estructura de un documento (capítulos, apartados, subapartados, . . . ) § Un árbol de decisión § Un árbol genealógico 3 Dra. Norka Bedregal Alpaca
Árboles Ejemplo: Director Sub. Dir 1 J´Dpto 2 Sub. Dir 2 J´Dpto 3 Sub. Dir 3 J´Dpto 4 J´Dpto 5 4 Dra. Norka Bedregal Alpaca
Árboles Definición: Arbol Un grafo G=(X, E) es un árbol si § Es conexo § No contiene ciclos v Todo subgrafo de un árbol, es también un árbol. v Todo grafo conexo con menor número de aristas que de vértices, debe ser un árbol. 5 Dra. Norka Bedregal Alpaca
Árboles Ejemplo: Obtener todos los árboles de menos de 7 vértices 6 Dra. Norka Bedregal Alpaca
Representación de un Árbol • Mediante diagramas de Venn a b c d Árboles e f • Mediante círculos y flechas a b e c d f • Mediante paréntesis anidados: ( a ( b (e, f), c, d ) ) 7 Dra. Norka Bedregal Alpaca
Árboles Conceptos Básicos Elementos de un árbol: Un árbol esta formado de varios elementos los cuales son: Rama: Es la línea que une a dos vértices. Nodo de Bifurcación: Es el que se caracteriza como eje y de el se hace una ramificación ( no vacía) o subárboles. Hoja: Es el vértice terminal, que se encuentra al terminar la ramificación. 8 Dra. Norka Bedregal Alpaca
Árboles Conceptos Básicos Nivel o Profundidad: Es el número de arcos que deben ser recorridos para llegar a un determinado vértice. Dependiendo del autor, el vértice raíz tiene nivel 0 ó 1 Los hijos tendrán como nivel el de su padre + 1 9 Dra. Norka Bedregal Alpaca
Conceptos Básicos Tipos de vértices: Árboles § Si hay un camino de A hasta B, se dice que A es antecesor de B, y que B es sucesor de A. § Padre es el antecesor inmediato de un nodo § Hijo, cualquiera de sus desc}ientes inmediatos. § Descendiente de un nodo, es cualquier sucesor de dicho nodo. § Hermano de un nodo, es otro nodo con el mismo padre. § Generación, es un conjunto de nodos con la misma profundidad o el mismo nivel. 10 Dra. Norka Bedregal Alpaca
Conceptos Básicos § Los nodos de la misma generación tienen el mismo nivel. Árboles § Grado de un nodo, es el número de flechas que salen de ese nodo (hijos). El número de las que entran siempre es uno. § Grado de un árbol, es el mayor grado que puede hallarse en sus nodos. § Longitud del camino entre 2 nodos: es el número de arcos que hay entre ellos. Definición: Bosque Un grafo G=(V, A) que no contiene ciclos se llama bosque. Cada componente conexa de un bosque es un árbol. 11 Dra. Norka Bedregal Alpaca
Conceptos Básicos Raíz hijo Padre Subárbol Árboles Hermano hoja Nivel de profundidad = 7 Mayor Grado de un nodo = 3 Grado del árbol = 3 12 Dra. Norka Bedregal Alpaca
Árboles Propiedades de un árbol § Es un grafo conexo sin ciclos, es decir, 2 vértices se conectan por un único camino simple. § Todo subgrafo de un árbol, es también un árbol. § Todo grafo conexo con menor número de aristas que de vértices, debe ser un árbol. Propiedades: 1. Dados vértices cualesquiera del árbol T=(X, E), existe una única cadena entre ellos. 2. Al eliminar una arista cualquiera del árbol T=(X, E), se obtiene un grafo con dos componentes conexas, siendo cada una de ellas un árbol. 3. Si T=(X, E) es un árbol con n vértices y a aristas, entonces a = n - 1 13 Dra. Norka Bedregal Alpaca
Propiedades Árboles § Si a un árbol se añade una arista se genera un ciclo. 14 Dra. Norka Bedregal Alpaca
Propiedades Árboles § Si se elimina otra arista del ciclo así obtenido se obtiene otro árbol, no necesariamente isomorfo al anterior. § Si a un árbol se le añade un vértice y una arista incidente en él, se obtiene un nuevo árbol. 15 Dra. Norka Bedregal Alpaca
Caracterización: Árboles Teorema de caracterización de árboles: Dado un grafo T=(V, A), son equivalentes las siguientes condiciones: 1. T es un árbol 2. Entre dos vértices cualesquiera del grafo T existe una única cadena 3. T es conexo y al eliminar una arista cualquiera del grafo se desconecta dando lugar a dos componentes conexas, que son árboles 4. T es conexo y a = n - 1, siendo a el número de aristas y n el número de vértices 5. T no contiene ciclos y a= n -1, siendo a el número de aristas y n el número de vértices 16 Dra. Norka Bedregal Alpaca
Sub-árbol Árboles Subárbol: Son árboles que aparecen en otro árbol. Se dice que el el árbol L 1 aparece en otro árbol L 2, si todos los del elemento del primero están en el segundo y además cumplen la misma relación jerárquica entre ellos. 17 Dra. Norka Bedregal Alpaca
Teorema Árboles Teorema: Todo árbol con más de un vértice posee, al menos, dos vértices de grado 1. Demostración: Por inducción completa en el nº de vértices 18 Dra. Norka Bedregal Alpaca
Tipos de árboles Árbol Binario: Es un árbol donde todo vértice que no es hoja tiene 0, 1 ó 2 hijos. Árbol Binario Completo: Es el árbol en el que todo vértice que no es terminal tiene asociados exactamente 2 subárboles no vacíos (distinguibles como subárbol derecho y subárbol izquierdo) y en el que las hojas siempre están en ultimo nivel 19 Dra. Norka Bedregal Alpaca
Tipos de árboles Árboles n-ario: Árboles Es un árbol ordenado cuyos nodos tiene N subárboles, y donde cualquier número de subárboles puede ser árboles vacíos Árboles isomorfos: Son isomorfos si los dos árboles tienen la misma estructura y el valor de los nodos no es el mismo. Árboles Equivalentes: Son los árboles similares y sus nodos contienen la misma información. 20 Dra. Norka Bedregal Alpaca
Tipos de árboles Árbol enraizado: Árboles Árbol con un vértice destacado (raíz). Peso o altura del árbol 21 Dra. Norka Bedregal Alpaca
Árboles Dirigidos Árboles Un vértice r es la raíz de un digrafo si todos los vértices son accesibles desde él. 22 Dra. Norka Bedregal Alpaca
Propiedades de Árboles Binarios Teorema: Árboles ØEl número de nodos del nivel i en un árbol binario es ≤ 2 i ØEl número de nodos n de un árbol binario de altura h verifica n ≤ 2 h+1 -1 ØLa altura h de un árbol binario de n nodos verifica h ≥ log 2(n+1) - 1 23 Dra. Norka Bedregal Alpaca
Árboles Binarios Árboles Enumeración de Nodos: En un árbol los nodos se pueden enumerar tal que a la raíz de le asigne el 1 , a todo nodo izquierdo se le asigne el doble de su padre y a todo nodo derecho el doble de su padre + 1. Árbol Binario Ordenado: Un árbol binario es ordenado cuando todos los elementos del lado izquierdo son menores que la raíz y los del lado derecho son mayores que la raíz También se le llama árbol binario de búsqueda (ABB) 24 Dra. Norka Bedregal Alpaca
Árbol Binario Ordenado ó ABB 50 90 Árboles 40 26 8 45 34 42 110 85 68 88 100 110 105 95 102 25 Dra. Norka Bedregal Alpaca
Conversión de un árbol general a un árbol binario Árboles § Los hermanos se enlazan en forma horizontal (lineal) § Se enlaza en forma vertical el padre con el hijo que se encuentra mas a la izquierda y se elimina el enlace de este padre con los demás hijos. § Se rota el diagrama resultante 45 grados hacia la izquierda. 26 Dra. Norka Bedregal Alpaca
Conversión de un árbol general a un árbol binario A Árboles B E L C F G M D H N I J K O A = B E L C F D H G M N I J K O 27 Dra. Norka Bedregal Alpaca
Conversión de un árbol general a un árbol binario Árboles A B C E L F G D M H I N J O K 28 Dra. Norka Bedregal Alpaca
Árboles Conversión de un árbol general a un árbol binario 29 Dra. Norka Bedregal Alpaca
Recorridos de un árbol de Búsqueda Binaria (ABB) Árboles § Recorrer el árbol es “pasar por” o “visitar” todos los nodos del mismo. § Recorridos típicos: o Preorden o Inorden o Postorden § Otro tipo de recorridos o Conversos o Nivel por nivel 30 Dra. Norka Bedregal Alpaca
Árboles Recorrido Preorden • Proceso: – Visita el nodo raíz del árbol. – Recorre en preorden el subárbol izquierdo del nodo raíz. – Recorre en preorden el subárbol derecho del nodo raíz. • Aplicación: Generar una réplica del árbol. 31 Dra. Norka Bedregal Alpaca
Recorrido Preorden RID A C Árboles B D Recorrido: E F G A B D E C F G 32 Dra. Norka Bedregal Alpaca
Recorrido Preorden Árboles Ejemplo: RID 21 33 13 10 18 25 40 Recorrido en Preorden 21, 13, 10, 18, 33, 25, 40 33 Dra. Norka Bedregal Alpaca
Recorrido Preorden Árboles A B E D G Preorden = RID C H F I ABDGCEHIF 34 Dra. Norka Bedregal Alpaca
Árboles Recorrido Inorden • Proceso: – Recorre en inorden el subárbol izquierdo. – Visita la raíz del árbol. – Recorre en inorden el subárbol derecho. • Aplicación: Desplegar en orden creciente los elementos del árbol si este es un ABB. 35 Dra. Norka Bedregal Alpaca
Recorrido Inorden IRD A C Árboles B D Recorrido E F G D B E A F C G 36 Dra. Norka Bedregal Alpaca
Recorrido Inorden Árboles Ejemplo: 21 33 13 10 18 25 40 IRD Recorrido en Inorden 10, 13, 18, 21, 25, 33, 40 37 Dra. Norka Bedregal Alpaca
Recorrido Inorden Árboles A E D G IRD C B H F I Inorden: D G B A H E I C F 38 Dra. Norka Bedregal Alpaca
Árboles Recorrido Postorden • Proceso: – Recorre en postorden el subárbol izquierdo. – Recorre en postorden el subárbol derecho. – Visita la raíz del árbol. • Aplicación: Liberar los nodos de un árbol. 39 Dra. Norka Bedregal Alpaca
Recorrido Postorden IDR A C Árboles B D E F G Recorrido D E B F G C A 40 Dra. Norka Bedregal Alpaca
Recorrido Postorden Ejemplo: Árboles 21 33 13 10 18 25 40 IDR Recorrido en Postorden 10, 18, 13, 25, 40, 33, 21 41 Dra. Norka Bedregal Alpaca
Recorrido Postorden Árboles A C B E D G IDR H F I Postorden : G D B H I E F C A 42 Dra. Norka Bedregal Alpaca
Recorrido de Árboles Binarios Recorrido en Preorden Árboles 12 12, 7, 4, 2, 9, 8, 11, 21, 16, 19, 25 21 7 Recorrido en Inorden 2, 4, 7, 8, 9, 11, 12, 16, 19, 21, 25 4 2 8 25 16 9 11 Recorrido en Postorden 19 2, 4, 8, 11, 9, 7, 19, 16, 25, 21, 12 43 Dra. Norka Bedregal Alpaca
Recorrido de Árboles Binarios Árboles Ejemplo: Entre-orden: 3 2 5 1 8 6 7 4 9 Pre-orden: 1 2 3 5 4 6 8 7 9 Post-orden: 3 5 2 8 7 6 9 4 1 44 Dra. Norka Bedregal Alpaca
Recorrido de Árboles Binarios Árboles Ejemplo: 45 Dra. Norka Bedregal Alpaca
Recorrido de Árboles Binarios Ejemplo: Dado 2 recorridos construir el árbol Paso 1 Árboles Recorrido en Preorden Paso 2 $, %, A, &, # A, %, & $ $ # $, %, A, &, # Recorrido en Inorden A Paso 3 $ % El Inorden indica quién está a la izquierda y quién a la derecha Paso 4 $, %, A, &, # A, %, &, $, # El Preorden indica que la raíz es: $ $, %, A, &, # & $, %, A, &, # # $ & % A Paso 5 % A & $, %, A, &, # $ El Preorden también indica cuál es el siguiente valor a procesar # % A & # 46 Dra. Norka Bedregal Alpaca #
Árboles de expresión Características: Árboles § Se utilizan árboles binarios en los que los vértices terminales u hojas representan los operandos mientras que la raíz y los vértices intermedios representan los § Representan un orden de ejecución Ejemplo: ((a - 6) * b ) / (c - a) 47 Dra. Norka Bedregal Alpaca
Árboles de expresión Árboles Tipos de Notación Infija: Se obtiene al recorrer el árbol en entreorden Prefija: Se obtiene al recorrer el árbol en preorden Postfija: Se obtiene al recorrer el árbol en postorden 48 Dra. Norka Bedregal Alpaca
Representación de Expresiones Algebraicas Árboles Ejemplo: 49 Dra. Norka Bedregal Alpaca
Representación de Expresiones Algebraicas Árboles Ejemplo: 50 Dra. Norka Bedregal Alpaca
Representación de Expresiones Algebraicas Árboles Ejemplo: 51 Dra. Norka Bedregal Alpaca
Representación de Expresiones Algebraicas Árboles Ejemplo: 52 Dra. Norka Bedregal Alpaca
Árboles FIN 53
- Slides: 53