Sie sind auf Seite 1von 25

Teoría de árboles

• Alumnos:
- Dayana Puetate
- Jessica Tituaña
- Diego Toapanta
- Shirley Torres
- Wilder Vinueza
- Alex Yugcha
Definición de teoría de árboles

Llamamos grafo cíclico a un grafo que consiste en un ciclo


simple. Denotaremos por Cn al grafo cíclico de n vértices.
- Ejemplo:
Bosques y árboles
Definición.- Llamaremos bosque a un grafo sin ciclos y
llamaremos árbol a un grafo conexo sin ciclos.
- Ejemplo:
• Nota: Los bosques son grafos sin
ciclos no necesariamente conexos. Si
fueran conexos a demás de bosque
sería un árbol.
Ejercicio:
Dibuje los grafos representados por la matriz de adyacencia siguiente:
a. Determine si es bosque
b. Determine si es conexo
c. Determine si es árbol
Árboles binarios
Definición.- Un árbol binario es un árbol de
datos en la cual cada nodo puede tener un
hijo izquierdo y un hijo derecho. No pueden
tener más de dos hijos.
Árbol binario lleno
• Definición.- Es aquel árbol en el que los nodos de cada nivel tienen sus dos
hijos o ninguno (si es hoja).
a
b c
d e f g
Árbol binario completo
• Definición.- Es aquel árbol binario lleno en que todas sus hojas están en el
nivel n o n-1 considerando que para un hijo derecho hay siempre un hijo
izquierdo.
a
b c
d e
Recorridos:
• Recorrido en profundidad.- El objetivo de este
recorrido es tratar de encontrar de la cabecera a la raíz en
nodo de unidad binaria.
• Recorrido en amplitud.- Se realiza en orden por los
distintos niveles del árbol.
Ejemplo:
Problemas de la ruta más corta
• En la teoría de grafos, el problema del camino más corto o ruta más
corta es el problema que consiste en encontrar un camino entre dos
vértices (o nodos) de tal manera que la suma de los pesos de las aristas que
lo constituyen es mínima. Un ejemplo de esto es encontrar el camino más
rápido para ir de una ciudad a otra en un mapa.
• se debe determinar el plan de rutas que genere la trayectoria con la mínima distancia
total, que una un nodo fuente con un nodo destino, sin importar el número de nodos que
existan entre estos.
Problemas de la ruta más corta

• Esta modalidad de problemas puede solucionarse como un modelo de


transbordo normal, sin embargo la principal sugerencia es la de establecer
una oferta en el nodo fuente igual a una unidad (1) y establecer una
demanda en el arco destino igual a una unidad (1).
• En la práctica, es muy frecuente la utilización del algoritmo resultante con
variaciones que consisten en la minimización de tiempos, no
necesariamente de distancias.
Ejemplo:
La empresa de transportes “Emtrafesa” Trujillo ofrece las salidas diarias a Chiclayo, Lima, Piura.
Además basados en un análisis de mercado desean incorporar la ruta Tumbes-Tacna, incluyendo
distritos aledaños para llegar a su destino. (Distancia en millas).
Determinar las rutas mas cortas entre la ciudad de Tumbes (Nodo A) y la ciudad de Tacna (Nodo H).
SOLUCION:

nodo no
nodos resueltos
resuelto distancia n-esimo
conectados distancia ultima
Nº mas total nodo mas
directamente a nodos minima conexión
cercano a involucrada cercano
no resueltos
conectado

1 A B 3 B 3 AB
A C 4 C 4 AC
B C 3+2=5
2,3 A D 4 D 4 AD
B E 3+5=8
C F 4+1=5 F 5 CF
4 D F 4+2=6
B E 3+5=8
H-G-C-A=9 C G 4+3=7 G 7 CG
5 F G 5+7=12
B E 3+5=8 E 8 BE
C E 4+4=8 E 8 CE
6 G H 7+2=9
E H 8+6=14
7 G H 7+2=9 H 9 GH
Algoritmo de Huffman

• Se trata de un algoritmo que puede ser usado para compresión o encriptación


de datos. Este algoritmo se basa en asignar códigos de distinta longitud de
bits a cada uno de los caracteres de un fichero. Si se asignan códigos más
cortos a los caracteres que aparecen más a menudo se consigue una
compresión del fichero.
• El codificador de Huffman crea una estructura arbórea ordenada con todos los
símbolos y la frecuencia con que aparecen. Las ramas se construyen en forma
recursiva comenzando con los símbolos menos frecuentes.
Mecanismo del algoritmo:

• Contar cuantas veces aparece cada carácter en el fichero a comprimir. Y crear una
lista enlazada con la información de caracteres y frecuencias.
• Ordenar la lista de menor a mayor en función de la frecuencia.
• Convertir cada elemento de la lista en un árbol.
• Fusionar todos estos árboles en uno único, para hacerlo se sigue el siguiente
proceso, mientras la lista de árboles contenga más de un elemento:
Con los dos primeros árboles formar un nuevo árbol, cada uno de los árboles
originales en una rama. o Sumar las frecuencias de cada rama en el nuevo elemento
árbol.
• La tabla describe el alfabeto a codificar, junto con las frecuencias de sus símbolos. En el
gráfico se muestra el árbol construido a partir de este alfabeto siguiendo el algoritmo
descrito.
• Símbolo Frecuencia:
A 0,15
B 0,30
C 0,20
D 0,05
E 0,15
F 0,05
G 0,10

Ejemplo:
• Se puede ver con facilidad cuál es el código del símbolo E: subiendo por el árbol se
recorren ramas etiquetadas con 1, 1 y 0; por lo tanto, el código es 011. Para obtener
el código de D se recorren las ramas 0, 1, 1 y 1, por lo que el código es 1110.
• La operación inversa también es fácil de realizar: dado el código 10 se recorren desde
la raíz las ramas 1 y 0, obteniéndose el símbolo C. Para descodificar 010 se recorren
las ramas 0, 1 y 0, obteniéndose el símbolo A.
Árbol de expansión:
• Un árbol de expansión es aquel que enlaza todos los nodos de la red, de
igual manera no permite la existencia de ciclos.
• Nodo fuente: El nodo fuente es aquel nodo en el cual todos sus ramales se
encuentran orientados hacia afuera.

• Nodo destino: El nodo destino es aquel nodo en el cual todos sus ramales
se encuentran orientados hacia él.
Árbol de expansión mínima
• El algoritmo del árbol de expansión mínima es un modelo de optimización
mínima, un modelo de optimización de redes que consiste en enlazar todos
los nodos de la red de forma directa
Ejemplo
Una abastecedora de agua desea llevar sus servicos a 7 diferentes fraccionamientos

Das könnte Ihnen auch gefallen