Un grafo acclico es un grafo sin ciclos






















- Slides: 22
Un grafo acíclico es un grafo sin ciclos
Un árbol es un grafo acíclico conexo
Propiedades de un arbol • Sea G un arbol de “n” vertices: • G es conexo y no tiene ciclos simples. • G no tiene ciclos simples y, si se añade algún arco se forma un ciclo simple. • G es conexo y si se le quita algún arco deja de ser conexo. • Dos vértices cualquiera de G están conectados por un único camino simple. • G es conexo y tiene n − 1 arcos.
Definición Un árbol con raíz o árbol enraizado es un árbol en el cual un vértice en particular se designa como raíz.
Definición Se llama altura (o profundidad) de un árbol con raíz a la máxima distancia de un vértice a la raíz.
raiz Nivel=2 ancestro descendiente padre hijo Vértice interno Hoja o Vértice terminal Altura=4
Un árbol binario es un árbol con raíz en el que cada nodo tiene como máximo dos hijos
Un árbol binario completo es un árbol en el que cada nodo tiene cero o dos hi
Un árbol binario total es un árbol binario completo en el que todas las hojas tienen la misma altura
Problema: Se tiene un archivo con 100, 000 caracteres. Se sabe que aparecen 6 caracteres diferentes, con las siguientes frecuencias de aparición : Frecuencia x y u v w z 45 13 12 16 9 5 ( en miles ) ¿ Cómo codificar los caracteres para comprimir el espacio ocupado utilizando un código binario ?
Solución 1 : Código de longitud fija Para 6 caracteres se necesitan 3 bits Fija 000 001 010 011 100 101
Solución 2. -Codificación de Huffman -longitud variable - Más frecuentes con el código más corto. - Ningún código es prefijo de otro.
Fase 1. : Caracteres colocados en orden creciente de frecuencia. f: 5 e: 9 c: 12 b: 13 d: 16 a: 45 Fase 2. y posteriores : Fusionar hasta obtener un sólo árbol manteniendo la ordenación creciente. c: 12 b: 13 d: 16 14 0 f: 5 1 e: 9 a: 45
14 0 25 d: 16 1 f: 5 0 e: 9 0 c: 12 1 c: 12 25 a: 45 b: 13 a: 45 30 0 1 1 14 b: 13 0 f: 5 d: 16 1 e: 9
a: 45 0 55 25 0 c: 12 1 1 30 0 14 b: 13 0 f: 5 1 d: 16 1 e: 9
0 100 1 a: 45 55 0 1 25 0 c: 12 30 1 0 b: 13 14 0 f: 5 1 d: 16 1 e: 9
Codificación : Basta concatenar el código de cada uno de los caracteres. Ejemplo : aabacd 0 0 101 0 100 111 001010100111 Descodificación : ningún código es prefijo de otro código Ejemplo : 10101111011100 badadcf
Un subgrafo de expansión de un grafo G es un subgrafo con el mismo conjunto de vértices que G.
Un árbol expansión es un subgrafo de expansión que es un árbol.
Árbol de expansión de peso mínimo Dado un grafo con pesos asignados a cada arco, encontrar un árbol de expansión de peso total mínimo
Algoritmo de Prim Salida Entrada Algoritmo de Prim
Algoritmo de Kruskal Salida Entrada Algoritmo de Kruskal