Upload
artur-zae
View
227
Download
0
Embed Size (px)
Citation preview
7/24/2019 Estructuras Datos (Arboles)
1/30
rboles
Contenido Definicin de rbol rboles Binarios
Recorridos en rboles binarios
7/24/2019 Estructuras Datos (Arboles)
2/30
Objetivos
Conocer las estructuras de datosarbreas y las formas de trabajar conellas en la solucin de problemas demediana complejidad
7/24/2019 Estructuras Datos (Arboles)
3/30
Introduccin
Director
SubDir1 SubDir2 SubDir3
JDpto1 JDpto2 JDpto3 JDpto! JDpto"
#jemplo de un $rbol de Jerar%u&as
7/24/2019 Estructuras Datos (Arboles)
4/30
Definicin de rbol
'n rbol(tree) es un *+D+,+ %ue consta deun conjunto finito T de nodos y unarelacin R (paternidad) entre los nodos tal%ue-
A
D E F G
CB
7/24/2019 Estructuras Datos (Arboles)
5/30
Definicin de rbol
Hay un nodo, especialmentedesignado, llamado la razdelrbol T.
A
D E F G
CB
A
D E F G
CB
7/24/2019 Estructuras Datos (Arboles)
6/30
Definicin de rbol
A los nodos que no son races de otrossubrboles se les denomina hojasdelrbol T, o sea, no tienen sucesoreso
hijos.A
D E F G
CB
7/24/2019 Estructuras Datos (Arboles)
7/30
,claraciones
Si el conjunto finito * de nodos del $rbol es vac&o. entonces setrata de un rbol vaco+
#n esta estructura e/iste slo un nodo sin padre. %ue es larazdel $rbol+
*odo nodo. a e/cepcin del nodo ra&0. tiene uno y slo unpadre+
os sub$rboles de un nodo son llamados hijos+
7/24/2019 Estructuras Datos (Arboles)
8/30
#jemplos
A
D E F G
CB
,
D #
C4
Padre de
C:
Padre deE:
Padre de G
Padre de
A:
Hijos de A:
,
4
C
NO
NO
C4
7/24/2019 Estructuras Datos (Arboles)
9/30
#jemplos
A
D E F G
CB
A
D E F G
CB
Secuencias
de A a G
de A a E de A a F
F
A
E G
CB
D
A
E F G
CB
F
A
E G
CB
D
! es sucesor de A y" es sucesor de !
7/24/2019 Estructuras Datos (Arboles)
10/30
Otras definiciones
Grado de un nodo:cantidad de #i$os de un nodo.
Grado de un rbol es el mayor de los grados detodos sus nodos.
Nodo hojaes un nodo sin #i$os o con grado % &.
Nodo rama es un nodo que tiene #i$os, o sea, a lara' de un subrbol.
7/24/2019 Estructuras Datos (Arboles)
11/30
#jemplos
Grado de A:
de E:
de G:
de J:
Grado del rbol:Nodos hojas:
Nodos raas:
D
A
E F G
CB
!H J "
#
$
%
&
$
D
A
E F G
CB
!H J "
D
A
E F G
CB
!H J "D' H' !' J' F' "
A' B' C' E' G
7/24/2019 Estructuras Datos (Arboles)
12/30
Otras definiciones
Rama :Arista entre dos nodos.
Nivel de un nodoes el n(mero de ramas que #ayque recorrer para llegar a la ra' de un nodo
)or definicin, la ra' del rbol tiene ni*el &. +stadefinicin es recursi*a.
7/24/2019 Estructuras Datos (Arboles)
13/30
#jemplos
A
F
CB
D E G
H !
Ni(el
de A:
de E:
de B:
de !:de G:
&
#
%
$
#
7/24/2019 Estructuras Datos (Arboles)
14/30
Otras definiciones
rbol completo de nivel nse denomina aun rbol en el que cada nodo de ni*el n esuna #o$a y cada nodo de ni*el menor que n
tiene, al menos, un subrbol no *aco.
7/24/2019 Estructuras Datos (Arboles)
15/30
#jemplos
A
F
CB
D E G
A
CB
D E
)rbol co*letode ni(el #
Cada nodo del ni(el n esuna hoja
)rbol no completode ni(el #
+n nodo del ni(el n,% es unahoja
7/24/2019 Estructuras Datos (Arboles)
16/30
Otras definiciones
Padre de un nodoes el nodo ra' del subrbol mspequeo que contiene a dic#o nodo y en el cual -lno es ra'.
Hijo de un nodo se denominan a los/ nodos/ra'ces/ de uno de sus subrboles.
Predecesor de un nodoes el nodo que le antecedeen un recorrido del rbol.
Hermano de un nodoes otro nodo #i$o de su padre.
7/24/2019 Estructuras Datos (Arboles)
17/30
#jemplos
B
D E G
A
C
!H J
F
Padre de G:
Hijos de C:
Heranos de !:
C
FE G
JH
7/24/2019 Estructuras Datos (Arboles)
18/30
Otras definicionesrbol ordenado
0n rbol ordenado se define como un rbol en el quelos subrboles de cada nodo forman un con$untoordenado. +l primer #i$o de un nodo en un rbolordenado se denomina con frecuencia el #i$o ms *ie$o
de este nodo y el (ltimo #i$os e denomina el ms$o*en.
El rbol es ordenado si al intercambiar el ordenrelati*o de los subrboles de un nodo, representa unasituacin semnticamente diferente.
7/24/2019 Estructuras Datos (Arboles)
19/30
#jemplos- rbol 5eneal5ico de 6ar&a
-ar.a
Pedro
/uisaJuan
Jos0 Elsa /isa
El rbol es ordenado
+l primer subrbol 1uan es padre y 1os- es mayorque +lsa.
+l segundo subrbol 2uisa es 3adre y pedro es
mayor que 2isa.
7/24/2019 Estructuras Datos (Arboles)
20/30
Otras definiciones
rbol orientadoes un rbol para el cual no interesael orden relati*o de los sucesores o subrboles decualquier nodo, ya que slo se tiene en cuenta laorientacin de los nodos.
Eje*lo:2a estructura organi'ati*a de una empresa, dondeno es importante el orden de los subdirectores a la#ora de representarlos en el rbol.
+n la solucin de problemas informticos, los ms
utili'ados son los rboles ordenados.
7/24/2019 Estructuras Datos (Arboles)
21/30
Otras definiciones
0na florestaes una coleccin de dos o ms rbolesdis$untos.
Aclaraciones4 Dis$untos significa que no #ay nodos en com(n
entre dos rboles cualesquiera de la misma. De un rbol se obtiene una floresta al quitarle la
ra', si tiene dos #i$os o ms. De una floresta se obtiene un rbol al aadir unnodo que sea ra' de todos los rboles que laconforman.
7/24/2019 Estructuras Datos (Arboles)
22/30
#jemplos
B
D E G
C
!H J
F
B
D E G
B
!H J
F
Es una 1loresta NO es una 1loresta
A
Es un rbol
7/24/2019 Estructuras Datos (Arboles)
23/30
Definicin de rbol 4inario
0n rbol binarioen ingl-s binary tree/ es un rbolordenado de, a lo sumo, grado 5.
claraciones: A lo sumo grado 5 significa que cada nodo tiene
como m6imo dos #i$os, o sea, dos subrboles. Al ser ordenado el rbol, importa el orden de los
subrboles, es decir, que ser necesario especificarde cada nodo cul es el #i$o i'quierdo y cul el #i$oderec#o.
7/24/2019 Estructuras Datos (Arboles)
24/30
#jemplo
-ar.a
Pedro
/uisaJuan
Jos0 Elsa /isa
El rbol 2eneal32ico es un rbol binario4
!ada nodo tiene dos #i$os
+s significati*o el orden de los subrboles.
7/24/2019 Estructuras Datos (Arboles)
25/30
rbol 4inario- Caracter&sticas
!ada nodo del rbol binario contiene4
!nformaci"n
Hijo #erechoHijo !z$uierdo
0na referencia a su informacin.
0n apuntador a su #i$o i'quierdo.
0n apuntador a su #i$o derec#o.
7/24/2019 Estructuras Datos (Arboles)
26/30
7/24/2019 Estructuras Datos (Arboles)
27/30
7ecorrido en 8reorden
7. 8isitar la ra'.
5. Recorrer subrbol i'quierdo en preorden.9. Recorrer subrbol derec#o en preorden.
7/24/2019 Estructuras Datos (Arboles)
28/30
7ecorrido en 8reorden
A
D E F G
CB
D
B
E
A
F
C
G
5ecorrido:7.Ra'.5. :ubrbol i'quierdo en preorden.
9. :ubrbol derec#o en preorden.
A B D E C F G
7/24/2019 Estructuras Datos (Arboles)
29/30
7ecorrido en 8ostorden
7. Recorrer subrbol i'quierdo en orden final.
5. Recorrer subrbol derec#o en orden final.
9. 8isitar la ra'.
7/24/2019 Estructuras Datos (Arboles)
30/30
7ecorrido en Sim9trico
A
D E F G
CB
D
B
E
A
F
C
G
5ecorrido7.:ubrbol i'quierdo en orden final.5.:ubrbol derec#o en orden final.
9 R
D E B F G C A