Sie sind auf Seite 1von 5

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.
Teorema:

En cualquier árbol R= (V,A), |V| = |A| + 1.

Teorema:

Para cualquier árbol R = (V,A), si |A| >= 2, entonces R tiene al menos dos
vértices colgantes.

Teorema:

Sea G un grafo simple con v vértices, entonces se puede decir:


• G es un árbol.
• G es conexo y no contiene circuitos.
• G es conexo y tiene (n-1) lados.
• G no contiene circuitos y tiene (n-1) lados.

Arboles con Raíz

Sea G un grafo dirigido, se denomina “árbol dirigido” si el grafo no dirigido


asociado con G es un árbol. Cuando G es un árbol dirigido, se denomina “árbol
con raíz” si hay un único vértice r, la raíz.

Sea G un grafo con raíz V0. Supóngase que x, y, z son vértices en G y que (v0,
v1, ..., vn), es un camino en G.
• V(n-1) es el padre de v(n).
• V0, v1, ..., v(n-1) son los antepasados de v(n).
• V(n) es el hijo de v(n-1).
• Si x es un antepasado de y, entonces y es un descendiente de x.
• Si x e y son hijos de z entonces x e y son hermanos.
• Si x no tiene hijos entonces x es un vértice terminal.
• Si x no es un vértice terminal, entonces x es un vértice interno.
• El subgrafo de G que consiste en x y todos sus descendientes, con x como
raíz, es el subarbol de G que tiene a x como raíz.

Sea R= (V,A) un árbol con raíz r. Si R no tiene otros vértices, entonces la raíz
misma constituye el recorrido en orden previo, simétrico y posterior de R. Si |V|
> 1, sean R1, R2, R3, ...., Rk los subarboles de R según se va de izquierda a
derecha.

1. El recorrido de orden previo de R comienza en r y después pasa por los


vértices de R1 en orden previo, a continuación por los vértices de R2 en
orden previo, y así sucesivamente hasta que se pasa por los vértices de Rk
en orden previo.

2. El recorrido en orden simétrico de R primero, se pasa por los vértices de R1


en orden simétrico, después por la raíz r y a continuación por los vértices de
los subarboles R2, R3,...., Rk en orden simétrico.
3. El recorrido en orden posterior de R pasa por los vértices de los subarboles
R1, R2,...., Rk en orden posterior y a continuación por la raíz.

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, o viceversa, o bien ningún hijo. Un árbol
binario completo es uno en el cual cada vértice tiene un hijo a la derecha y uno
a la izquierda, o bien ningún hijo.

Teorema:

Si T es un árbol binario completo con i vértices internos, entonces T tiene i + 1


vértices terminales y 2i + 1 vértices en total.

Un árbol binario de búsqueda es un árbol binario T donde se han asociado


datos a los vértices. Los datos se disponen de manera que para cualquier
vértice v en T, cada dato en el subárbol a la izquierda de v es menor que el
dato correspondiente a v.

Definición recursiva:
Un árbol n-ario (con n 1) es un conjunto no vacío de elementos del mismo tipo
tal que:
Existe un elemento destacado llamado raíz del árbol el resto de los elementos
se distribuyen en m subconjuntos disjuntos (0 m n ), llamados subárboles
del árbol original, 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, el árbol se denomina ordenado

Árbol ordenado con raíz X y subárboles A1 …Am


Á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.
• 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, comenzando por la
que está más a la derecha

CODIGO DE PREFIJOS:
Un código prefijo es un código, típicamente un código de longitud variable,
con la "propiedad de prefijo": ninguna palabra de código es prefijo de cualquier
otra palabra de código del conjunto. Un código con las palabras de código
{0, 10, 11} tiene la propiedad de prefijo; un código {0, 1, 10, 11} no la tiene,
porque "1" es prefijo de tanto "10" como "11".

Las técnicas para construir un código prefijo pueden ser simples, o bastante
complicadas.

Si cada palabra en el código tiene la misma longitud, el código se llama código


de longitud fija. Por ejemplo, las letras del ISO 8859-15 son siempre de 8 bits
de longitud. Las letras del UTF-32/UCS-4 son siempre de 32 bits de longitud.
Los paquetes ATM son siempre de 424 bits de longitud. Los prefijos no pueden
existir en un código de longitud fija. Desafortunadamente, la codificación de
longitud fija es ineficiente en situaciones donde algunas palabras son mucho
más probables de ser transmitidas que otras.

Algunos códigos de longitud variable señalan el final de una palabra de código


con un símbolo especial. Éste es de alguna manera análogo al punto del final
de una frase; marca donde acaba una frase y comienza la siguiente. Si cada
palabra de código acaba en un símbolo especial, y el símbolo especial no
aparece en la palabra de código, es un código sin prefijo. 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, y usarlo sólo al final de las palabras sería
ineficiente. El código Morse es un ejemplo cotidiano de un código de longitud
variable con un símbolo especial. Las pausas largas entre letras, y las pausas
aún más largas entre palabras, ayudan a la gente a reconocer donde una letra
(o palabra) acaba, y donde comienza la siguiente.

CODIGO DE PREFIJOS DE HUFFMAN

En ciencias de la computación y teoría de la información, la codificación


Huffman es un algoritmo usado para compresión de datos. 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), 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. Fue desarrollado
por David A. Huffman mientras era estudiante de doctorado en el MIT, y
publicado en "A Method for the Construction of Minimum-Redundancy Codes".

La codificación Huffman usa un método específico para elegir la representación


de cada símbolo, que da lugar a un código prefijo (es decir, 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, y viceversa. 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. 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.

Para un grupo de símbolos con una distribución de probabilidad uniforme y un


número de miembros que es potencia de dos, la codificación Huffman es
equivalente a una codificación en bloque binaria, por ejemplo, la codificación
ASCII. 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", incluso cuando dicho código no se ha producido
con el algoritmo de Huffman.

Aunque la codificación de Huffman es óptima para una codificación símbolo a


símbolo dada una distribución de probabilidad, su optimalidad a veces puede
verse accidentalmente exagerada. Por ejemplo, la codificación aritmética y la
codificación LZW normalmente ofrecen mayor capacidad de compresión. Estos
dos métodos pueden agrupar un número arbitrario de símbolos para una
codificación más eficiente, y en general se adaptan a las estadísticas de
entrada reales. Este último es útil cuando las probabilidades no se conocen de
forma precisa o varían significativamente dentro del flujo de datos.

Das könnte Ihnen auch gefallen