ragazzi...sarò un po' prolissa per spiegarmi bene.
sto studiando le code con priorità epoi di conseguenza alberi e heap. Ora, giunta all'heap, mi si spiega che è un vettore v di dimensione n tale che per ogni i<=n/2 etc...
e che un heap può essere anche visto come un albero binario con al+ l'ultimo livello incompleto in cui la radice contiene il valore max e ogni nodo interno un valore maggiore di quello dei suoi figli. Fin qui tutto chiaro. Poi vengono introdotti i metodi tra cui Insert e DeleteMax di cui vi scrivo l'implementazione che mi viene data:

void insert(heap A, int key, int HeapSize){
HeapSize++;
int z = HeapSize-1;
while (z>0 && A[z/2]<key){
A[z]=A[z/2];
z=z/2;
}
A[z]=key;
}
e l'altra:

int DeleteMax(heap A, int HeapSize){
if (HeapSize>=1){
int max=A[0];
A[0]=A[HeapSize-1];
HeapSize--;
Heapify(A,0,HeapSize);
return max;
}
return -maxint;
}

E dice che entrambi hanno complessità: O(logn)

Ecco la domanda...apparte -maxint che nn capisco cos'è...ma, se mi è appena stata data l'implementazione, perchè mi si chiede di relizzare il seguente esercizio???

Supponete che una coda con priorità sia realizzata tramit uno heap nella forma di albero binario.
-definire lo pseudocodice delle operazioni di insert e deleteMax su tale struttura e valutarne il costo nel caso peggiore

La domanda è: ma perchè mi chiede questo esercizio? non va svolto semplicemente come sopra? oppure si intende prorpio trattarlo come un albero mentre sopra tratta un vettore? E in tal caso...lo pseudocodice comunque sarebbe generico..
cioè..voi come risolvereste l'esercizio??

E poi un altro esercizio:
Definire l'implementazione di una coda con priorità basata sul minimo sottoforma di heap nelle 2 versioni di array e albero binario.

Cos'è una coda con priorità basata sul minimo?
e come si implementa???
Vi prego...aiutatemi!!!