Está en la página 1de 2

1.

Trace la tabla hash de 11 elementos que resulta de usar la función h(i)=(2i + 5)%13 cuando se insertan, en
ese orden, las llaves 12, 44, 13, 88, 23, 94, 11, 39, 20, 16, 5; suponiendo que las colisiones se manejan
por:
a. encadenamiento en una lista i (2i+5)%13 (2i+5)%17 (2i+5)%19 (2i+5)%23 (2i+5)%29
enlazada. 5 2 15 15 15 15
11 1 10 8 4 27
b. exploración lineal.
12 3 12 10 6 0
c. exploración cuadrática. 13 5 14 12 8 2
16 11 3 18 14 8
20 6 11 7 22 16
23 12 0 13 5 22
39 5 15 7 14 25
44 2 8 17 1 6
88 12 11 10 20 7
94 11 6 3 9 19

1. Dibuja el heap resultante de insertar sucesivamente los valores:


23 7 92 6 12 14 40 44 20 21.
Si se utiliza un array para implementar el heap anterior, ¿cuál sería el contenido del
array
después de insertar todos los valores del apartado anterior?

2. Se desea un sistema para controlar el funcionamiento de un hotel, referido a los


siguientes aspectos: se tiene que llevar el control del estado de cada una de las
habitaciones del hotel, si está ocupada o no; el control de los huéspedes del mismo
(su nombre, número de identidad, país de procedencia). Se debe llevar un control de
las reparaciones que necesita cada habitación, para ello inmediatamente que se
reporta un problema un empleado va a la habitación y le da una prioridad a la
reparación que hay que hacer, las reparaciones se hacen a partir de esta prioridad.
También es necesario controlar las solicitudes de servicio de lavandería que hacen
los huéspedes, las mismas se atienden según el orden de llegada.
Haga una diagrama UML donde aparezcan las clases que Ud. considera necesarias
para resolver el problema. Indique cual de ellas tendrán el comportamiento de
algunos de los TDA estudiados en clases. Explique como logrará el uso de estos
TDA.

3. Se desea implementar una estructura de datos que permita gestionar las tareas que se
ejecutan en una CPU multitarea. Dentro del conjunto de tareas se pueden diferenciar
cinco niveles de prioridad, de 1 a 5, siendo el nivel más prioritario el 1. Cuando hay
tareas de nivel 1 éstas serán las primeras en ejecutarse, si no hay de este nivel se
ejecutarán las de nivel 2 y así sucesivamente hasta que no haya tareas. El orden de
ejecución dentro de un mismo nivel de prioridad es por orden de llegada.
Se pide:
Seleccionar la estructura de datos más adecuada para resolver las gestiones
Definir en Java dicha estructura de datos y declarar los métodos sin implementarlos
Implementar la operación de selección de tarea para ser ejecutada por la CPU .
¿Cuál es su complejidad computacional?

2. Considere que se implementa el TDA cola de prioridad utilizando un montículo binario


máximo.
a. Implemente el método EliminarMax
b. Obtenga un método que permita obtener la lista con los elementos de la cola
ordenados descendentemente por su prioridad.

1. Escriba el esqueleto de la clase que implementa el TDA Diccionario usando una tabla de dispersión
con localización enlazada. Los elementos implementan la interfaz Hashable.
a) Implemente el método de Insertar un elemento en dicha tabla.

2. Añada un método a la clase MontículoBinario estudiada, de forma tal que permita obtener en una
lista los elementos de la cola ordenados de forma ascendente según su prioridad, considere el
siguiente encabezamiento para dicho método:
public List<E> OrdenamientoAsc();

También podría gustarte