Está en la página 1de 14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Estructura de Datos
Clase 17: Ejercicios de arboles
Carlos Contreras Bolton
Universidad Andr
es Bello
Facultad de Ingeniera

27 de mayo de 2014

Carlos Contreras Bolton Estructura de Datos

1/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Contenido

1 Ejercicio 1
2 Ejercicio 2
3 Ejercicio 3
4 Ejercicio 4

Carlos Contreras Bolton Estructura de Datos

2/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 1

Disene una funcion recursiva que cuente los nodos en un


ABB con valores entre dos valores dados (inclusive).
Retorne el numero de nodos contados.

Carlos Contreras Bolton Estructura de Datos

3/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 1
Soluci
on

1
2
3
4
5
6
7
8
9
10
11
12

i n t C o n t a r N o d o s ( Nodo t , i n t v a l o r 1 , i n t v a l o r 2 )
{ / dado que v a l o r 1 <= v a l o r 2 /
i n t t o t a l =0;
i f ( t != NULL)
{
t o t a l += C o n t a r N o d o s ( t>i z q ) ;
i f ( ( t>d a t o >= v a l o r 1 ) && ( t>d a t o <= v a l o r 2 ) )
t o t a l ++;
t o t a l += C o n t a r N o d o s ( t>d e r ) ;
}
return total ;
}

Carlos Contreras Bolton Estructura de Datos

4/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 2

Considere un arbol 2-3.


Insertar 20, 5, 30, 1, 6, 22, 23, 7, 8, 10, 9, 4, 3, 2, 0.
Eliminar 20.
Eliminar 7.

Carlos Contreras Bolton Estructura de Datos

5/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 2
Soluci
on

Insertar 20, 5, 30, 1, 6, 22, 23, 7, 8, 10, 9, 4, 3, 2, 0.

Carlos Contreras Bolton Estructura de Datos

6/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 2
Soluci
on

Eliminar 20.

Carlos Contreras Bolton Estructura de Datos

7/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 2
Soluci
on

Eliminar 7.

Carlos Contreras Bolton Estructura de Datos

8/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 3

Considere un arbol AVL.


Inserte 15, 18, 20, 5, 10, 25, 23, 17, 16, 30, 32, 33.
Eliminar 18.
Eliminar 5.

Carlos Contreras Bolton Estructura de Datos

9/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 3
Soluci
on

Inserte 15, 18, 20, 5, 10, 25, 23, 17, 16, 30, 32, 33.

Carlos Contreras Bolton Estructura de Datos

10/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 3
Soluci
on

Eliminar 18.

Carlos Contreras Bolton Estructura de Datos

11/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 3
Soluci
on

Eliminar 5.

Carlos Contreras Bolton Estructura de Datos

12/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 4

Dado un ABB crear una funcion que inserte una nueva raz.

Carlos Contreras Bolton Estructura de Datos

13/14

Ejercicio 1 Ejercicio 2 Ejercicio 3 Ejercicio 4

Ejercicio 2
Soluci
on
1 Nodo d i v i d i r ( i n t key , Nodo t , Nodo i , Nodo d )
2 {
3
w h i l e ( t != NULL && t>d a t o != k e y )
4
{
5
i f ( t>d a t o < k e y )
6
{
7
i = t ;
8
t = t>d e r ;
9
i = &(( i )>d e r ) ;
10
}
11
else
12
{
13
d = t ;
14
t = t>i z q ;
15
d = &(( d)>i z q ) ;
16
}
17
}
18
i f ( t == NULL)
19
{
20
i = NULL ;
21
d = NULL ;
22
}
23
else
24
{
/ t>d a t o == k e y /
25
i = t>i z q ;
26
d = t>d e r ;
27
}
28
return t ;
29 }
Carlos Contreras Bolton Estructura de Datos

1 Nodo I n s e r t a r R a i z ( i n t key , Nodo t )


2 {
3
Nodo i z q , d e r ;
4
t = d i v i d i r ( key , t , &i z q , &d e r ) ;
5
i f ( t == NULL)
6
{
7
t = CreaNodo ( k e y ) ;
8
t>i z q = i z q ;
9
t>d e r = d e r ;
10
}
11
else
12
{
13
t>i z q = i z q ;
14
t>d e r = d e r ;
15
p r i n t f ( E r r o r \n ) ;
16
exit (0);
17
}
18
return t ;
19 }

14/14