Download Práctico Árboles Binarios de Búsqueda 1. Dibujar - Itsp

Document related concepts

Árbol binario wikipedia , lookup

Recorrido de árboles wikipedia , lookup

Árbol binario de búsqueda wikipedia , lookup

Árbol de intervalo wikipedia , lookup

Estructuras de datos persistentes wikipedia , lookup

Transcript
Práctico Árboles Binarios de Búsqueda
1. Dibujar el árbol binario de búsqueda siguiente:
i)
6, 9, 13, 14, 15, 17, 20, 26, 64, 72
ii) 3,1,4,6,9,2,5,7
iii) 5,2,4,3,7,9,6,1
2. De los árboles anteriores, indicar para cada uno el resultado de recorrerlo postorden,
preorden e inorden.
3. El recorrido en preorden de un determinado árbol binario es: GEAIBMCLDFKJH y en
inorden IABEGLDCFMKHJ .Resolver:
i)
Dibujar el árbol binario.
ii) Dar el recorrido en postorden.
iii) Eliminar el elemento B, el D y el M y volver a dibujar el árbol luego de cada
borrado.
4. Implementar un árbol binario de búsqueda con sus operaciones básicas.
5. Crear un procedimiento/función que cuente cuántos nodos hay.
6. Crear un procedimiento/función que cuente cuántos niveles hay.
7. Crear un procedimiento/función que me indique si un nodo es hoja.
8. Crear un procedimiento/función que cuente cuántas hojas hay.
9. Crear un procedimiento/función que me indique si un árbol binario está completo.
Total de nodos en un árbol binario completo: 2n-1. Siendo n: nivel.
10. Crear un procedimiento/función que me indique si un valor x dado por el usuario se
encuentra en el árbol.
11. Dado un árbol de búsqueda binario H cargado con los datos de las habitaciones de un
hotel y con los siguientes datos: número de habitación, tipo de habitación, estado.
Donde el campo Estado tiene el valor 0 (habitación disponible), o 1 (habitación
ocupada). Expresar el algoritmo solución en diagramas de flujo, para cada uno de los
métodos indicados a continuación:
i)
Búsqueda: Dado el número de una habitación devuelve el Estado. El estado de una
habitación puede ser disponible u ocupado.
ii) Añadir: Ingresa los datos de una nueva habitación en el hotel. En el caso de que la
habitación ya exista emitir un mensaje informando dicha situación.
iii) Mostrar: Dado un tipo de habitación visualiza la información contenida en el árbol
en orden descendente por Número de habitación y muestra la cantidad de
habitaciones disponibles considerando también dicho tipo de habitación.
12. En una Distribuidora de productos informáticos, se tiene un listado de productos
desordenado, al cual se requiere acceder en forma frecuente. Para agilizar la
búsqueda, se decide indexar la lista (generar un índice ordenado sobre la lista)
utilizando para ello un Árbol de Búsqueda Binaria. Presentar un menú con las
siguientes opciones:
i)
Generar árbol: Debe permitir generar un árbol de búsqueda binaria llamado
Índice, con nodos que contienen los siguientes datos: códigoProducto,
punteroProducto. Cada nodo debe generarse a partir de los datos de la lista de
productos. La lista contiene los datos código, descripción, precio, y stock del
producto. Por cada nodo de la lista se genera un nodo en el árbol Índice, con el
código y la dirección del nodo de la lista en el campo puntero_Prod. No debe
haber claves iguales.
ii) Buscar un producto: se ingresa un código de producto y se muestran los datos
descripción, precio, y stock. La búsqueda se realiza en el árbol Índice y se accede a
la lista a través del puntero_Prod.
iii) Eliminar un producto: ingresar un código de producto y mostrar los datos del
producto. Eliminar el producto, sólo si el campo Stock es igual a 0, caso contrario
mostrar mensaje “No es posible la eliminación del producto”. Se debe eliminar de
la lista productos y del árbol Índice.
iv) Agregar un producto: se ingresa el código del producto, si existe en la lista, se debe
modificar el campo Stock, caso contrario se agregan en la lista los datos del
producto, y se genera un nodo en el árbol Índice con el código y la dirección del
puntero_Prod.