b) Implemente el TAD ColaPrioAcot en donde las operaciones obtenerMin y borrarMin tienen O(1) de
tiempo de ejecución en el peor caso, escribiendo la representación del TAD y el código de las
operaciones constructoras. Omita el código del resto de las operaciones del TAD.
TYPE
Lista = POINTER TO Nodo;
Nodo = RECORD
sig : Lista;
info : T;
prio : CARDINAL
END;
ColaPrioAcot = POINTER TO Cabezal;
Cabezal = RECORD
lista : Lista;
cant_elem : CARDINAL
END;
CONST K = ...;
Dos preguntas: la primera sería si en este ejercicio existe algun impedimento para no poder insertar siempre al final y tener un puntero mas en el cabezal que marque cual es elemento de menor prioridad. En las soluciones contempla alguna que otra forma de hacerlo pero nunca dice nada de esta.
La segunda es que si me piden una cola de prioridad acotada, el k no tendría que ir dado en el crearcola ya? CrearColaPrioridad(k:CARDINAL):Colaprioridad; de lo contrario nose en que momento se marca cual es el tope.