Salve, ho un problaema con questo esercizio :

Dati 2 array A e B che rappresentano 2 heap si progetti un algoritmo efficiente per stabilire se i due heap contengono gli stessi elementi (si noti che se due heap hanno gli stessi elementi, non necessariamente le loro rappresentazioni implicite tramite array sono uguali).

Il mio ragionamento è il seguente : conoscendo le proprietà dell heap l array che lo rappresenta è formato dai nodi dell heap in ordine di priorità. es, il mio albero è composto da 5 nodi compresa la radice la quale ha priorita 20 , la radice ha due figli che hanno priorita 15 e 16, il nodo con priorita 15 ha anch' esso due figli con priorità 11 e 10. l array che lo rappresenta è il seguente (i numeri rappresentano la priorità) A = [20 15 16 11 10]. L array B contiene i seguenti elementi B = [30 20 15 12 13] ( anche B rappresenta un heap) . Ora per vedere se i due array contengono gli stessi elementi mi basta scorrererli e confrontarli.
for (....){
for(....){
confronto;
}
}

Ora vi chiedo : si risolve cosi questo problema oppure non ho capito niente . ah T(n) = O(n^2) non efficiente!