11 Abb
11 Abb
1/1
ABB: Árbol binario de búsqueda
2/1
ABB: Árbol binario de búsqueda
3/1
ABB: Árbol binario de búsqueda
6/1
ABB: Recorrer
¿Como se imprimirı́an los datos del siguiente árbol con recorrido
pre-orden, in-orden y post-orden?
Pre-orden: 19 - 6 - 2 - 15 - 7 - 17 - 30 - 21 - 27 - 36
In-orden: 2 - 6 - 7 - 15 - 17 - 19 - 21 - 27 - 30 - 36
Post-orden: 2 - 7 - 17 - 15 - 6 - 27 - 21 - 36 - 30 - 19
7/1
ABB: Recorrer
¿Como se imprimirı́an los datos del siguiente árbol con recorrido
pre-orden, in-orden y post-orden?
Pre-orden: 19 - 6 - 2 - 15 - 7 - 17 - 30 - 21 - 27 - 36
In-orden: 2 - 6 - 7 - 15 - 17 - 19 - 21 - 27 - 30 - 36
Post-orden: 2 - 7 - 17 - 15 - 6 - 27 - 21 - 36 - 30 - 19
7/1
ABB: Recorrer
¿Como se imprimirı́an los datos del siguiente árbol con recorrido
pre-orden, in-orden y post-orden?
Pre-orden: 19 - 6 - 2 - 15 - 7 - 17 - 30 - 21 - 27 - 36
In-orden: 2 - 6 - 7 - 15 - 17 - 19 - 21 - 27 - 30 - 36
Post-orden: 2 - 7 - 17 - 15 - 6 - 27 - 21 - 36 - 30 - 19
7/1
ABB: Recorrer
¿Como se imprimirı́an los datos del siguiente árbol con recorrido
pre-orden, in-orden y post-orden?
Pre-orden: 19 - 6 - 2 - 15 - 7 - 17 - 30 - 21 - 27 - 36
In-orden: 2 - 6 - 7 - 15 - 17 - 19 - 21 - 27 - 30 - 36
Post-orden: 2 - 7 - 17 - 15 - 6 - 27 - 21 - 36 - 30 - 19
7/1
ABB: Buscar
8/1
ABB: Buscar
Recursivamente
i n t ∗ s e a r c h ( n o d o t ∗ r a i z , i n t v a l u e ){
Usando Puntero
i n t ∗ s e a r c h ( n o d o t ∗ r a i z , i n t v a l u e ){
nodo t ∗ rec = r a i z ;
w h i l e ( r e c !=NULL){
i f ( r e c−>d a t o == v a l u e ){
return rec ;
} e l s e i f ( v a l u e < r e c−>d a t o ){
r e c = r e c−>h i j o i z q ;
} e l s e i f ( v a l u e > r e c−>d a t o ){
r e c = r e c−>h i j o d e r ;
}
r e t u r n r e c ; // NULL s i no l o e n c u e n t r a o a r b o l v a c ı́ o
}
9/1
ABB: Insertar
10/1
ABB: Insertar
Recursivamente
v o i d i n s e r t ( n o d o t ∗∗ r a i z , i n t v a l u e ){
i f (∗ r a i z == NULL){
∗ r a i z = malloc ( s i z e o f ( node t ) ) ;
(∗ r a i z )−> d a t o = v a l u e ;
(∗ r a i z )−> h i j o i z q = NULL ;
(∗ r a i z )−> h i j o d e r = NULL ;
11/1
ABB: Insertar
Cree el árbol binario que represente la siguiente secuencia de
enteros:
10 − 5 − 7 − 14 − 12 − 18 − 15
Spoiler
12/1
ABB: Insertar
Cree el árbol binario que represente la siguiente secuencia de
enteros:
10 − 5 − 7 − 14 − 12 − 18 − 15
Spoiler
12/1
ABB: Eliminar
13/1
ABB: Eliminar hoja.
14/1
ABB: Eliminar nodo con 1 hijo.
15/1
ABB: Eliminar nodo con 2 hijos.
16/1
ABB: Insertar
Recursivamente
i n t d e l e t e ( n o d o t ∗∗ r a i z , i n t v a l u e ){
// ¿Cómo l o programan ?
// N e c e s i t a r á n a l g u n a f u n c i ón e x t r a .
}
17/1
Ejercicios
18/1