Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Árboles
Es un tipo especial de grafo.
El primero en utilizarlo fue Gustavo Kirchhoff en sus
trabajos sobre redes eléctricas.
En 1857 Arthur Cayley utilizo un tipo especial de
grafo para enumerar diversos isómeros de los carburos
saturados.
Árboles como Modelos
Los árboles se utilizan como modelos en ciencias tan
diversas como la informática, la química, la geología,
la botánica y la psicología.
En muchas aplicaciones es necesario distinguir un nodo
particular de un árbol, que es designado como la raíz (los
definimos recursivamente antes).
Además, asumimos que los arcos pasan a ser dirigidos, siempre
alejándose de la raíz. Por ejemplo,
Con la llegada de los computadores, los arboles se
emplean en el estudio de las estructuras de datos,
clasificación, teoría de la codificación y en los
problemas de optimización.
Uso de árboles: Árbol de Decisión
Se desean elegir los puestos de Director y Auxiliar de Director entre
Lucía, María, Tomás y Juan. Se tiene que ni Lucía ni María serán
elegidas para director. También se sabe que habiendo elegido a
Tomás como director Lucía no debería ser auxiliar suyo. Construir el
árbol de decisión.
Solución
Butano
Representación de Organizaciones
La estructura de una organización se puede modelar
utilizando un árbol con raíz. Cada vértice de este árbol
indica un puesto en la organización.
Presidente
Vicepresidente Vicepresidente
de Investigacion Mercantil Vicepresidente
Y desarrollo Servicios
Organigrama
Sistemas de ficheros de ordenadores.
En la memoria de un ordenador, los ficheros se organizan
en directorios. Un directorio puede contener tanto ficheros
como subdirectorios. La raíz de un directorio contiene el
sistema de ficheros completo. Así, un sistema de ficheros
puede representarse mediante un árbol con raíz, donde la
raíz representa el directorio raíz, los vértices internos
representan los subdirectorios y las hojas representan los
ficheros ordinarios o subdirectorios vacíos. /
a
a b
b
c d
c d
f
e
e f
G1 G2
Algunos ejemplos de grafos que no son árboles:
a b a b
bosque
c d c d
e G3 f e G4 f
Otros ejemplos de grafos que no son árboles:
G1 G2 G3
G4
Todo grafo conexo y acíclico es un árbol. ¿Qué podemos
decir de los grafos acíclicos, pero no necesariamente
conexos?
Estos grafos se llaman bosques y tienen la propiedad de que
cada una de susUncomponentes conexasconexas
grafo con tres componentes es un árbol.
Ejemplo de un bosque
Teorema 1:
Un grafo no dirigido es un árbol si, y sólo si, hay un único
camino entre cada pareja de vértices.
Demostración:
Primero supongamos que T es un árbol. Entonces, T es un
grafo conexo y acíclico. Sean x e y dos vértices de T. Puesto
que T es conexo, por el Teorema 1, hay un camino entre x e y.
Además, este camino debe ser único, puesto que si hubiera un
segundo camino, entonces el recorrido construido al combinar
el primer camino de x a y con el camino de y a x, daría un
circuito.
Terminología de grafos
Sea T un grafo con raíz v.
Si hay un camino de A hasta B, se dice que A es antecesor de B, y que B es
sucesor de A.
El padre de un nodo u tal que u v, es el nodo u′ tal que existe un arco
dirigido desde u′ a u en T. También decimos que u es un hijo de u′.
Dos nodos son hermanos si tienen el mismo padre.
Los ancestros de u son todos los nodos u′ u en el camino desde u hasta v.
Los descendientes de u son todos los vértices que tienen a u como ancestro.
Generación, es un conjunto de nodos con la misma profundidad
Una hoja es un nodo sin hijos. Los nodos que no son hojas se llaman internos.
El subárbol de T con raíz es u es el subgrafo de T inducido por u y todos sus
descendientes.
Raíz es el nodo que no tiene ningún predecesor (sin padre).
Hoja es el nodo que no tiene sucesores (sin hijos) (Terminal). Los
que tienen predecesor y sucesor se llaman nodos interiores.
Rama es cualquier camino del árbol.
Bosque es un conjunto de árboles desconectados.
Nivel o profundidad de un nodo, es la longitud del camino desde
la raíz hasta ese nodo. El nivel puede definirse como 0 para la raíz
y nivel (predecesor)+1 para los demás nodos.
Los nodos de la misma generación tienen el mismo nivel.
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.
Ejemplo
Un grupo de ajedrecistas que luchan por un campeonato. Cada
ajedrecista tiene una única oportunidad para enfrentar al campeón
vigente, y que el perdedor de cualquier encuentro será eliminado
de la contienda.
Sea A = (V, E) un grafo no dirigido donde los vértices de V representan los
ajedrecistas y las aristas de E representan los encuentros.
Sea V = { v1, v2, v3, v4, v5, v6, v7, v8, v9 }.
Al inicio, v1 es el campeón vigente y que se dan los siguientes encuentros:
v1 venció a v2, v3 y v4 y pierde con v5.
v5 venció a v6 y v7 y pierde con v8.
v8 pierde con v9.
El árbol que detalla esta situación, es el siguiente:
v1 v2 v3
v4 v5 v6
v7 v8 v10
v9
a Nodos internos
b c
d e f
Hojas g h
Franco Guidi 5
Polanco
Raíz
hijo
Padre
Hermano Subárbol
hoja
Nivel de profundidad = 7
Grado de un nodo = 3
Grado del árbol = 3
a
b c d e
f g h ij k
l m subárbol de nodo e
subárboles de nodo b
subárboles de nodo c
7
Ruta y largo de una ruta
Si n1, n2,... nk es una secuencia de nodos en un árbol, de modo que n i
es padre de ni + 1, para 1<=i<=k, entonces esta secuencia se llama
ruta desde n1 a nk.
El largo de esta ruta es k.
a
n1
b c
n2
d e f
n3
g h
9
Ancestros y descendientes
Si existe una ruta desde un nodo A a un nodo B, entonces A es
ancestro de B y B es descendiente de A.
Luego, todos los nodos de un árbol son descendientes de la raíz
del árbol, mientras que la raíz es el ancestro de todos los nodos.
Altura
La altura de un nodo M de un árbol corresponde al número de
nodos en la ruta desde la raíz hasta M.
La altura de un árbol corresponde a la altura del nodo más
profundo.
a
Altura del
b c nodo=2
g h
Niveles
Todos los nodos de altura d están en el nivel d en el árbol.
La raíz está en el nivel 1, y su altura es 1.
Nivel 1
a
Nivel 2
b c
Nivel 3
d e f
Nivel 4 g h
ARBOL
Ejemplo:
RAIZ A
Profundidad
B C
ESE NODO
Altura D E F G
HOJA
H I
Altura(A) = 4
Prof(A) = 0
Prof(H) = 3
Definición 2:
Un árbol con raíz es un árbol en el que uno de sus
vértices ha sido designado como la raíz y todas las
aristas están orientadas de modo que se alejan de la
raíz.
Con raíz en a
T a
f g
b c d
d b
e
a f g e
¿Cuál es el padre de c? a
c ¿Cuál es el hijo de c? e
¿Cuáles son los hermanos de b? c y d
¿Cuáles son los antecesores de g? b y a
¿Cuáles son los descendientes de b? f y g
¿Cuáles son los vértices internos? b y c
¿Cuáles son las hojas? f, g, e y d
47
Tipos de árboles
Un árbol ordenado: Es aquel en el que las ramas de los
nodos están ordenadas.
Los de grado 2 se llaman árboles binarios.
Cada árbol binario tiene un subárbol izquierda y subárbol
derecha.
+
- ^
A B / 3.5
C D
Árboles de expresión
Representan un orden de ejecución
+
*
+
*
+ -
A B * E
7 12 9
C D
a
1
b e
2 5
3 4 6 7
c d f g
h i
8 9
Árboles Equivalentes: Son los árboles similares y sus nodos
contienen la misma información.
Árboles n-ario: Es un árbol ordenado cuyos nodos tiene N
subárboles, y donde cualquier número de subárboles puede ser
árboles vacíos
Árbol binario completo:
Es un árbol en el que todos sus nodos, excepto los del
ultimo nivel, tienen dos hijos.
Notación:
Se dice que T es un árbol con raíz y se denota (T, vo)
Observación:
T se representa por su Digrafo
Ejemplo v4 v9 v11
v5 v0 v3
v1
v8
v2
v6
v10
v7
diseño de un árbol con raíz
◦ Se ubica a la raíz vo , de la cual se dirá que esta en el nivel 0.
◦ Ninguna arista entra a vo pero pueden salir varias, que se trazan hacia
cada uno de estos vértices pueden tener varias aristas que salen de él.
Se trazan las aristas que salen del nivel 1 hacia abajo y terminan en
vértices que estarán en el nivel 2
◦ Y asi sucesivamente con cada nivel….
◦ .
52
Ejemplo
v0
v1 v2 v3
v4 v6 v9
v5 v8
v7
v10 v11
ARBOL Y NOTACIÓN (CADENA)
POLACAS
CADENA POLACA
Polaco Lukasiewice implantó el árbol de una
expresión aritmética
EXPRESION ARITMÉTICA:
tenemos dos:
operandos: letras minúsculas
operadores : ( )
/ * div mod
+ -
Generación de un árbol Expresión aritmética
1. a /
bcd operadores
+ -
info a b c d
a b c d
1 2 3 4
Ejemplo :
+
/ /
+ *
* * a f a c d /
a b c d
1 2