Arboles: Un árbol es un grafo simple en el cual existe un único camino entre cada par de vértices.

Sea G =(V,A) un grafo no dirigido. G se denomina ARBOL, si es conexo y no contiene ciclos. Un árbol con raíz, es un árbol que tiene un vértice particular designado como raíz. Ejemplo de árbol:

En la figura anterior G1 corresponde a lo que llamamos mediante la definición ARBOL, en el caso de G2, éste no corresponde debido a que contiene un ciclo. Podemos destacar que cuando un grafo G es un Arbol, se reemplaza G, por R. En la figura mostrada G1 es un subgrafo de G2, en el que G1 contiene los vértices de G2 y es árbol, además lo llamaremos “árbol abarcador”, por que proporciona conexión minimal para el grafo y un esqueleto minimal que une los vértices. Ejemplo de árbol raíz:

Para apoyar el entendimiento de las definiciones entregadas agregaremos algunos teoremas. Teorema: Si a, b son vértices de un árbol R (V,A), entonces hay un camino único que conecta estos vértices.

. la raíz. a continuación por los vértices de R2 en orden previo. Teorema: Para cualquier árbol R = (V.. y. Teorema: Sea G un grafo simple con v vértices. • El subgrafo de G que consiste en x y todos sus descendientes. El recorrido en orden simétrico de R primero. • G es conexo y tiene (n-1) lados. se denomina “árbol dirigido” si el grafo no dirigido asociado con G es un árbol.. Sea R= (V.A). si |A| >= 2. Rk en orden simétrico. • Si x no tiene hijos entonces x es un vértice terminal.Teorema: En cualquier árbol R= (V.. Si |V| > 1. v1. v1. • Si x es un antepasado de y. v(n-1) son los antepasados de v(n).. y así sucesivamente hasta que se pasa por los vértices de Rk en orden previo. Sea G un grafo con raíz V0. entonces la raíz misma constituye el recorrido en orden previo. es el subarbol de G que tiene a x como raíz.. Supóngase que x. . simétrico y posterior de R.. z son vértices en G y que (v0.. después por la raíz r y a continuación por los vértices de los subarboles R2.. . Rk los subarboles de R según se va de izquierda a derecha. • Si x e y son hijos de z entonces x e y son hermanos.. R3. con x como raíz. • V0. • G no contiene circuitos y tiene (n-1) lados.A). entonces y es un descendiente de x. entonces x es un vértice interno. 1. se denomina “árbol con raíz” si hay un único vértice r. vn). Arboles con Raíz Sea G un grafo dirigido.. • Si x no es un vértice terminal.A) un árbol con raíz r. R3. Si R no tiene otros vértices. se pasa por los vértices de R1 en orden simétrico. |V| = |A| + 1.. .. es un camino en G. El recorrido de orden previo de R comienza en r y después pasa por los vértices de R1 en orden previo. Cuando G es un árbol dirigido.. • V(n-1) es el padre de v(n). 2. sean R1. entonces se puede decir: • G es un árbol. . • G es conexo y no contiene circuitos. • V(n) es el hijo de v(n-1). entonces R tiene al menos dos vértices colgantes. R2..

o bien ningún hijo. Definición recursiva: Un árbol n-ario (con n  es un conjunto no vacío de elementos del mismo tipo 1) tal que: Existe un elemento destacado llamado raíz del árbol el resto de los elementos se distribuyen en m subconjuntos disjuntos (0   ).. o viceversa.. llamados subárboles m n del árbol original. Un árbol binario de búsqueda es un árbol binario T donde se han asociado datos a los vértices.3. el árbol se denomina ordenado Árbol ordenado con raíz X y subárboles A1 …Am . cada uno de los cuales es a su vez un árbol n-ario Árbol ordenado: Si en el conjunto de subárboles de un árbol n-ario se supone definida una relación de orden total. Rk en orden posterior y a continuación por la raíz. o bien ningún hijo. Un árbol binario es uno con raíz en el cual cada vértice tiene un hijo a la derecha o un hijo a la izquierda. Teorema: Si T es un árbol binario completo con i vértices internos. Los datos se disponen de manera que para cualquier vértice v en T.. R2. cada dato en el subárbol a la izquierda de v es menor que el dato correspondiente a v.. Un árbol binario completo es uno en el cual cada vértice tiene un hijo a la derecha y uno a la izquierda.. entonces T tiene i + 1 vértices terminales y 2i + 1 vértices en total. El recorrido en orden posterior de R pasa por los vértices de los subarboles R1.

Por ejemplo. con la "propiedad de prefijo": ninguna palabra de código es prefijo de cualquier otra palabra de código del conjunto. comenzando por la que está más a la derecha CODIGO DE PREFIJOS: Un código prefijo es un código. el código se llama código de longitud fija. marca donde acaba una frase y comienza la siguiente. El código Morse es un ejemplo cotidiano de un código de longitud variable con un símbolo especial. Éste es de alguna manera análogo al punto del final de una frase. las letras del ISO 8859-15 son siempre de 8 bits de longitud. • Un árbol homogéneo es completo cuando todas sus hojas tienen la misma profundidad • Un árbol se dice casi-completo cuando se puede obtener a partir de un árbol completo eliminando hojas consecutivas del último nivel. Si cada palabra de código acaba en un símbolo especial. 11} tiene la propiedad de prefijo. 10. 11} no la tiene. Los prefijos no pueden existir en un código de longitud fija. Si cada palabra en el código tiene la misma longitud. 10. la codificación de longitud fija es ineficiente en situaciones donde algunas palabras son mucho más probables de ser transmitidas que otras. y usarlo sólo al final de las palabras sería ineficiente.Árbol 3-ario de números enteros 1 2 Un árbol n-ario se dice homogéneo si todos sus subárboles excepto las hojas tienen n hijos. 1. Sin embargo. los sistemas de comunicación modernos envían todo como secuencias de "0" y "1" – añadir un tercer símbolo sería caro. típicamente un código de longitud variable. y el símbolo especial no aparece en la palabra de código. Desafortunadamente. Las letras del UTF-32/UCS-4 son siempre de 32 bits de longitud. Las pausas largas entre letras. Los paquetes ATM son siempre de 424 bits de longitud. es un código sin prefijo. y las pausas . porque "1" es prefijo de tanto "10" como "11". un código {0. Las técnicas para construir un código prefijo pueden ser simples. o bastante complicadas. Un código con las palabras de código {0. Algunos códigos de longitud variable señalan el final de una palabra de código con un símbolo especial.

La codificación Huffman es un método para crear códigos prefijo tan extendido que el término "codificación Huffman" es ampliamente usado como sinónimo de "código prefijo". Para un grupo de símbolos con una distribución de probabilidad uniforme y un número de miembros que es potencia de dos.aún más largas entre palabras. que da lugar a un código prefijo (es decir. la codificación Huffman es un algoritmo usado para compresión de datos. Aunque la codificación de Huffman es óptima para una codificación símbolo a símbolo dada una distribución de probabilidad. la cadena de bits que representa a un símbolo en particular nunca es prefijo de la cadena de bits de un símbolo distinto) que representa los caracteres más comunes usando las cadenas de bits más cortas. Posteriormente se encontró un método para llevar esto a cabo en un tiempo lineal si las probabilidades de los símbolos de entrada (también conocidas como "pesos") están ordenadas. Huffman fue capaz de diseñar el método de compresión más eficiente de este tipo: ninguna representación alternativa de un conjunto de símbolos de entrada produce una salida media más pequeña cuando las frecuencias de los símbolos coinciden con las usadas para crear el código. CODIGO DE PREFIJOS DE HUFFMAN En ciencias de la computación y teoría de la información. y donde comienza la siguiente. por ejemplo. la codificación ASCII. incluso cuando dicho código no se ha producido con el algoritmo de Huffman. la codificación Huffman es equivalente a una codificación en bloque binaria. Este último es útil cuando las probabilidades no se conocen de forma precisa o varían significativamente dentro del flujo de datos. Huffman mientras era estudiante de doctorado en el MIT. El término se refiere al uso de una tabla de códigos de longitud variable para codificar un determinado símbolo (como puede ser un caracter en un archivo). y viceversa. Estos dos métodos pueden agrupar un número arbitrario de símbolos para una codificación más eficiente. su optimalidad a veces puede verse accidentalmente exagerada. y en general se adaptan a las estadísticas de entrada reales. La codificación Huffman usa un método específico para elegir la representación de cada símbolo. y publicado en "A Method for the Construction of Minimum-Redundancy Codes". Fue desarrollado por David A. . donde la tabla ha sido rellenada de una manera específica basándose en la probabilidad estimada de aparición de cada posible valor de dicho símbolo. ayudan a la gente a reconocer donde una letra (o palabra) acaba. la codificación aritmética y la codificación LZW normalmente ofrecen mayor capacidad de compresión. Por ejemplo.

Sign up to vote on this title
UsefulNot useful