Ejercicios cortos sobre heaps
Pregunta 1: ¿Qué valor debe tener el nodo para que el siguiente árbol binario sea un max-heap?
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.
Pregunta 3: Si insertas el valor 92 en este max-heap, en que nodo quedará grabado. Entre la letra correspondiente al nodo.
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.
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?
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. }