Ejercicio 3 parte c

Ejercicio 3 parte c

de Maria Alejandra Galetta Paz -
Número de respuestas: 1

Buenas tardes,

Tengo una duda respecto a la implementación de insertar y remover. Mire el video y la resolución y dada la estructura que se utiliza, no sería necesario en la función de insertar si la clave no esta definida,  incrementar la variable g->cantidad ? Ahora el consultar si esta presente me obliga a recorrer la lista que en caso promedio es O(1), pero podría ser O(n) en el peor caso. Lo cual en si me hace cambiar el orden de insertar.

De la misma similar me sucede en remover. Pero como el dato del dominio puede aparece varias veces, el decremento lo hice al principio y una sola vez, ya que existe como precondición que la asociación exite. Pero en este caso no se ve afectado el orden.

Es esto correcto? 

En respuesta a Maria Alejandra Galetta Paz

Re: Ejercicio 3 parte c

de Federico Andrade -

Hola María Alejandra,


Muy buenos tus comentarios. Lo primero para comentarte es que el código tiene algunos errores y ya lo corregimos, solo que aún no subimos la versión actualizada. Al comienzo de la semana próxima lo haremos.


En realidad para evitar el problema que detectaste en el insertar lo que habría que hacer es no utilizar la variable cantElems, de forma de no tener que obligar a consultar si está definida en el insertar.


El remover te obliga a elimintar todas las apariciones del elemento del dominio (porque si removes solo la primera, te quedarían las anteriores por efecto colateral no deseado), por lo que el O (1) es en el caso promedio, en el peor caso estás obligada a recorrer toda la lista.


Saludos