Ejercicios cortos sobre heaps

Pregunta 1: ¿Qué valor debe tener el nodo para que el siguiente árbol binario sea un max-heap?

https://i.imgur.com/g3IqcVo.png

Pregunta 2: ¿En qué nodo quedará el 12 después de remover la raíz de este max-heap? Entra la letra que corresponde al nodo.

https://i.imgur.com/mbSzvdc.png

Pregunta 3: Si insertas el valor 92 en este max-heap, en que nodo quedará grabado. Entre la letra correspondiente al nodo.

https://i.imgur.com/mbSzvdc.png

Pregunta 4: ¿Qué altura tiene un heap que tiene 42 elementos?

Pregunta 5: Cieto o falso ¿Lo siguiente representa un max-heap implementado usando arreglo, basado en indice-0? Explica tu contestación.

https://i.imgur.com/iwhMMjX.png

Pregunta 6: Si representamos este max-heap usando un arreglo y guardando la raíz en el índice 0. ¿En que índice quedaría almacenado el hijo derecho del nodo f?

https://i.imgur.com/mbSzvdc.png

Pregunta 7: ¿Cual es el output del siguiente pseudocódigo? (un max priority queue es aquel que da mayor prioridad a los elementos mayores)

1. Create a max priority queue Q.
2. Q.insert(10)
3. Q.insert(56)
4. Q.insert(4)
5. Q.insert(25)
6. while (!Q.empty()) {
7.    print Q.front();
8.    Q.pop();
9. }

Pregunta 8: ¿Cual es el output del siguiente pseudocódigo? (un min priority queue es aquel que da mayor prioridad a los elementos menores)

 0. Create a min priority queue Q.
 1. Q.insert(1)
 2. Q.insert(3)
 3. Q.insert(5)
 5. Q.insert(7)
 5. while (!Q.empty() and Q.front() < 10) {
 6.   tmpA = Q.front(), print tmpA
 7.   Q.pop()
 8.   tmpB = Q.front(), print tmpB
 9.   Q.pop()
10.   Q.push(tmpA + tmpB);
10. }