2. Implementar un d-Heap (Un Heap en donde cada nodo debe tener como máximo d
hijos). Para ese punto crear una clase llamada DHeap, la cual debe contener como
mínimo los métodos deleteMin, insert, buildHeap. El constructor de la clase debe recibir
el parámetro d.
3. Un min-max heap es una estructura de datos que permite las funciones deleteMin y
deleteMax. La estructura es como la de un binary heap, pero la propiedad de orden es
que para cualquier nodo, X, a una profundidad par, el elemento guardado en X es
menor que su padre pero mayor que el abuelo y para cualquier nodo X a una
profundidad impar, el elemento guardado en X es mayor al padre y menor que el
abuelo.
Implementar un min-max heap en una clase llamada MinMaxHeap que contenga como
mínimo los métodos deleteMin, deleteMax, insert, buildHeap. Además explicar el
algoritmo para encontrar el mínimo, el máximo y para insertar un nuevo elemento en el
heap. (Esta explicación debe ir en un archivo PDF)
4. Implementar una tabla hash que como método de solución de colisiones utilice el
método lineal. Además ahora para insertar un objeto se debe indicar una pareja de
elementos llave-valor, por lo que la clase a implementar tendría la firma
LinearHashTable<K,T>, donde K es la clase de la llave (normalmente Integer o String)
y T es la clase del elemento a insertar. Ahora el Hash no se calcula al elemento
completo, sino a la llave. Tener en cuenta que se debe hacer rehash para que la tabla
hash sea óptima. Esta clase debe tener como mínimo las funciones contains, insert y
remove.
Nota: El taller se puede realizar en grupos de dos personas y debe ser subido al siguiente
link: https://www.dropbox.com/request/zSuPdKNnntPHEGp3T6kC antes del 9 de marzo
de 2019 a las 10:00 PM.