You are on page 1of 10

ÁRBOLES BINARIOS

DE BÚSQUEDA

FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio
Utilizando el TAD Arbin
Desarrolle un programa en Scheme que tome como entrada
un árbol y un número e indique si el número se encuentra en
el árbol o no
Para buscar un elemento en
9 un tipo de dato compuesto
(un árbol en este caso), es
3 2 necesario recorrer sus
elementos
6 1 8 5
¿Qué tipo de recorrido es
4 7 mas conveniente?

Desarrolle una función cuyo contrato sea:


busqueda-en-arbol: n arbin -> boolean
Ejercicio
Utilizando el TAD Arbin
Desarrolle un programa en Scheme que tome como entrada
un árbol y un número e indique si el número se encuentra en
el árbol o no
Si utiliza un recorrido en
9 preorden, ¿cuantas
comparaciones debe realizar
3 2 para busca los siguientes
números?:
6 1 8 5
a) 7 b) 10
4 7 c) 0 d) 5

Desarrolle una función cuyo contrato sea:


busqueda-en-arbol: n arbin -> boolean
Ejercicio
Utilizando el TAD Arbin
Desarrolle un programa en Scheme que tome como entrada
un árbol y un número e indique si el número se encuentra en
el árbol o no
Si utiliza un recorrido en
4 preorden, ¿cuantas
comparaciones debe realizar
3 8 para busca los siguientes
números?:
1 2 6 9
a) 7 b) 10
5 7 c) 0 d) 5

¿Este árbol tiene alguna característica en particular que


permita recorrerlo de una forma diferente?
Árboles Binarios de Búsqueda
Un árbol-binario-de-búsqueda se define recursivamente
como:
a) un árbol-vacío, o
b) un árbol con raíz, cuyo subárbol izquierdo y derecho son
árboles binarios de búsqueda, y cumple con las
siguientes condiciones:
1) La raíz es mayor que el máximo
elemento del subárbol izquierdo 7
2) La raíz es menor que el mínimo
elemento del subárbol derecho 4 9

2 6 8

Ejemplo de un Árbol Binario de Búsqueda


Búsqueda en
Árboles Binarios de Búsqueda
Debido a la forma como se organizan sus nodos, la
búsqueda de elementos se puede llevar a cabo de una
manera mas eficiente

Teniendo en cuenta la condición que todo árbol binario de


búsqueda debe cumplir, la búsqueda se realiza de la
siguiente manera:
1) Se examina la raíz, y si no se encuentra el elemento,
2) Se evalúa si dicho elemento es mayor o menor que la raíz
a) Si el elemento es menor que la raíz, se continúa buscando
únicamente en el subárbol izquierdo
b) Si el elemento es mayor que la raíz, se continúa buscando
únicamente en el subárbol derecho
¿Qué ventaja presentan los
Árboles Binarios de Búsqueda?
Con la estrategia de búsqueda planteada no es necesario
evaluar todos los nodos del árbol para encontrar un
determinado elemento

Cada vez que se evalúa un nodo, la estrategia de búsqueda


(basada en las características del árbol), nos indica por
donde debemos continuar buscando y por donde no hay que
buscar

Ese parte del árbol por donde NO se realiza la búsqueda es


sencillamente ignorada y evita un desgaste de
comparaciones innecesarias
Ejercicios
Desarrolle en Scheme un programa que busque un elemento en
un árbol binario de búsqueda indicando si se encuentra o no

Búsqueda del elemento 3


sobre un árbol binario de
búsqueda utilizando la
estrategia planteada

Dado un árbol binario de búsqueda y un nuevo elemento,


desarrolle un programa en Scheme que retorne el árbol binario
de búsqueda con el nuevo elemento agregado, manteniendo su
condición de árbol binario de búsqueda
Inserción de un Elemento en un
Árbol Binario de Búsqueda
En el siguiente ejemplo,
se inserta el elemento 5
en un árbol binario de
búsqueda
Ejercicios
Lista a Árbol Binario de Búsqueda
Desarrolle un programa en Scheme que dada un lista de
números retorne un árbol binario de búsqueda con todos los
elementos de la lista de entrada

Eliminar Elemento de un Árbol Binario de Búsqueda


Desarrolle un programa en Scheme que dado un árbol binario
de búsqueda y un elemento, retorne el árbol sin el elemento,
manteniendo su condición de árbol binario de búsqueda

You might also like