Supongamos que estamos ordenando una array de ocho enteros usando heapsort, y acabamos de terminar algunas operaciones heapify (ya sea maxheapify o minheapify). La array ahora se ve así:
16 14 15 10 12 27 28
¿Cuántas operaciones heapify se han realizado en la raíz del montón?
(A) 1
(B) 2
(C) 3 o 4
(D) 5 o 6
Respuesta: (B)
Explicación: En Heapsort, primero construimos un montón, luego hacemos las siguientes operaciones hasta que el tamaño del montón se convierte en 1.
a) Intercambie la raíz con el último elemento
b) Llame a heapify para la raíz
c) reduzca el tamaño del montón en 1.
En esta pregunta, se da que se ha llamado a heapify varias veces y vemos que los dos últimos elementos en una array dada son los 2 elementos máximos en una array. Entonces, la situación es clara, es maxheapify, que ha sido llamado 2 veces.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA