Algunas dudas a partir del video del ej 2.

Algunas dudas a partir del video del ej 2.

de Rafael Agustin Castelli Ottati -
Número de respuestas: 1

Hola, mirando el video me surgieron las siguientes dudas :

1) En un momento se menciono que la operacion de destruir puede dejarse fuera del TAD, pero no e una operacion esencial para no dejar memoria colgada? Por ejemplo si quiero una lista doblemente enlazada con accesos al primer y ultimo elemento, es natural tener un struct que guarda dos punteros, el principio y el final de la lista, y una posible implementacion de crearCadena() viene dada por generar ese cabezal con dos punteros apuntando a NULL. Entonces si no tengo la operacion de elimiarCadena() y borro todos los elementos de ella, no estaria dejando memoria colgada/ desperdiciada?  O como puedo hacer desde teniendo solo el TAD para no dejar memoria desperdiciada?

2) En este ejemplo creo que es inutil, pero el Hash vendria a ser una estructura dinamica o estatica? Porque por un lado tengo la tabla de Hash que es un arreglo, pero despues (al menos en el hashing abierto) tengo una lista de elementos, entonces bajo la restriccion de usar memoria estatica , usar Hashing esta dentro de las opciones?

3)  En la resolucion del video, cantelems vendria a ser el n de la letra o vendria ser una cota a parte para el conjunto?

En respuesta a Rafael Agustin Castelli Ottati

Re: Algunas dudas a partir del video del ej 2.

de Libertad Tansini -

Hola Rafael, te contesto sobre las dudas:

  1. La operación Destruir no es parte en teoría de ningún TAD, sin embargo una vez que elegimos una implementación concreta puede ser una operación necesaria, como vos bien menciónás. Esto ocurre en especial cuando se basa en una estructura de pedido de memoria en forma dinámica. Por otra parte si la implementación fuera puramente basada en una estructura estática puede no ser necesaria la operación Destruir .
  2. Si el arreglo para el hash lo solicitás con new, será necesario devolverlo con delete, por lo tanto será necesario tener la operación Destruir para realizar esta acción. Además, si el hash es abierto se devolverá también los nodos de las listas de cada cubeta.
  3. cant_elems es el n de la letra, es decir que en el video el Conjunto puede contener elementos que están en el rango [1,cant_elems].

Quedo a las órdenes para contestar cualquier otra duda.

Saludos, libertad