Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Semana 9
PRIMERA UNIDAD 3
Competencias
Listas enlazadas
Mapa Conceptual
Lineales
Operaciones
Pilas
ESTRUCTURAS DINAMICAS
LINE
Colas
Arboles
No lineales
Grafos
1
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
INTRODUCCION
1.1 Definiciones
2
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
Vista de un árbol
3
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
1.3 Terminología
4
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
B C D
E F G H
I J K
profundidad(A)=0
profundidad(H)=2
altura=3
camino(A,K)={A,B,F,K}
camino(C,K)={}
2. ÁRBOLES BINARIOS
Es un árbol que solo puede tener dos como máximo de hijos, es decir dos subárboles. Se
conoce al nodo izquierdo como hijo izquierdo y al nodo derecho como hijo derecho.
5
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
Un árbol binario es una estructura recursiva, que se divide en tres subconjuntos distintos:
Conjunto del nodo raíz {R}
Conjunto del subárbol izquierdo de R {I1,I2,……In}
Conjunto del subárbol derecho de R{D1,D2,D3,….Dn}
I1 D1
D2
I2
I3
6
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
buscar(nombreArbol,
información)referenciaNodo
4. ÁRBOL DE EXPRESIÓN
Una muestra muy importante de los árboles binarios son los árboles de
expresiones. Una expresión es una secuencia de componentes de léxicos
(token). Un Token puede ser un operando o bien un operador.
a * (b + c) + d
d
*
*
a
7
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
* -
x a b
-
y z
Árbol de expresión ( x * (y - z) ) + (a - b)
8
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
* /
a b c d
a) ((a * b) + (c / d))
+ d
+ c
a b
b) (((a + b) + c)+ d)
9
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
+ *
- + + *
a x y b c d
5. RECORRIDO DE UN ÁRBOL.
Para visualizar o consultar los datos almacenados en un árbol se necesita
recorrer el árbol o visitar los nodos del mismo. Al contrario que las listas
enlazadas, los árboles binarios no tienen realmente un primer valor, un
segundo valor, un tercer valor, etc. Se puede afirmar que el nodo raíz viene
el primero, pero ¿Quién viene a continuación? Existen diferentes métodos
de recorrido de árbol ya que la mayoría de las aplicaciones con árboles son
bastante sensibles al orden en el que se visitan los nodos, de forma que
será preciso elegir cuidadosamente el tipo de recorrido.
El Recorrido de un árbol binario, requiere que cada nodo del árbol sea
procesado (visitado) una vez, y sólo una, en una secuencia predeterminada.
Existen dos enfoques generales para la secuencia de recorrido, profundidad
y anchura.
10
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
Recorrido Preorden
El recorrido preorden (RID) conlleva los siguientes pasos, en los que el
nodo raíz va antes que los subárboles.
1) Visitar el Nodo Raíz ( R )
2) Recorrer el subárbol izquierdo ( I ) en Preorden.
3) Recorrer el subárbol derecho ( D) en Preorden.
1
B C
2 5
D E F G
3 4 6 7
Recorrido en Orden
El recorrido en Orden, procesa primero el subárbol izquierdo, después la raíz y
a continuación, el subárbol derecho. El significado de in es que la raíz se
procesa entre los subárboles.
Si el árbol no está vacío, el método implica los siguientes pasos:
1) Recorrer el subárbol izquierdo ( I ) en Orden.
2) Visitar el Nodo Raíz ( R )
3) Recorrer el subárbol derecho ( D) en Orden.
A
4
B C
2 6
D E F G
1 3 5 7
Recorrido en Orden D,B,E,A,F,C,G
11
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
7
B C
3 6
D E F G
1 2 4 5
* /
a b c a
a)
12
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
+ d
+ c
a b
b)
+ *
- + + *
a x y b c d
c)
Se trata de árboles de orden 2 en los que se cumple que para cada nodo, el valor de la
clave de la raíz del subárbol izquierdo es menor que el valor de la clave del nodo y que el
valor de la clave raíz del subárbol derecho es mayor que el valor de la clave del nodo.
13
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
Buscar un elemento.
Insertar un elemento.
Borrar un elemento.
o Izquierda.
o Derecha.
o Raiz.
Información:
Buscar un elemento
14
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
Insertar un elemento
Necesitamos un puntero auxiliar para conservar una referencia al padre del nodo raíz
actual. El valor inicial para ese puntero es NULL.
Padre = NULL
nodo = Raiz
15
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
Si Padre es NULL, el árbol estaba vacío, por lo tanto, el nuevo árbol sólo
contendrá el nuevo elemento, que será la raíz del árbol.
Borrar el elemento
Necesitamos un puntero auxiliar para conservar una referencia al padre del nodo raíz
actual. El valor inicial para ese puntero es NULL.
Padre = NULL
Si el árbol está vacío: el elemento no está en el árbol, por lo tanto salimos sin
eliminar ningún elemento.
(1) Si el valor del nodo raíz es igual que el del elemento que buscamos,
estamos ante uno de los siguientes casos:
16
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
3. Borramos el 'nodo'.
17
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
2. Buscamos el nodo más a la derecha del árbol izquierdo de 'raíz', en este caso
el 3, al tiempo que mantenemos un puntero a 'Padre' a 'nodo'.
5. Borramos el 'nodo'.
18
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
2. Buscamos el nodo más a la izquierda del árbol derecho de 'raíz', en este caso
el 12, ya que el árbol derecho no tiene nodos a su izquierda, si optamos por la
rama izquierda, estaremos en un caso análogo. Al mismo tiempo que
mantenemos un puntero a 'Padre' a 'nodo'.
6. Buscamos el nodo más a la izquierda del árbol derecho de 'raíz', en este caso
el 16, al mismo tiempo que mantenemos un puntero a 'Padre' a 'nodo'.
19
Universidad Nacional de San Cristóbal de Huamanga IS241-Estructura de datos
9. Borramos el 'nodo'.
20