Un Heap es un árbol binario completo donde cada padre es menor (min-heap) o mayor (max-heap) que sus hijos. Se almacena como un arreglo.
Mapeo arreglo-árbol (índice base 0):
Padre de i: Math.floor((i - 1) / 2)
Hijo izquierdo: 2 * i + 1
Hijo derecho: 2 * i + 2
Operaciones:
insert: añadir al final, subir (bubble up) — O(log n)
extractMin: eliminar raíz, bajar (bubble down) — O(log n)
peek: retornar la raíz — O(1)
Aplicaciones:
- Colas de prioridad
- Heap Sort
- Algoritmo de Dijkstra
- Encontrar el k-ésimo menor/mayor
Algoritmos relacionados
Preguntas frecuentes
- ¿Qué es Montículo (Heap)?
- Un Heap es un árbol binario completo donde cada padre es menor (min-heap) o mayor (max-heap) que sus hijos. Se almacena como un arreglo.
- ¿Cuál es la complejidad de Montículo (Heap)?
- Montículo (Heap) se explica con visualización paso a paso, incluyendo su complejidad temporal y espacial cuando aplica.
- ¿Para quién es este visualizador de Montículo (Heap)?
- La visualización de Montículo (Heap) está pensada para nivel intermedio, dentro de la categoría Estructuras de Datos. Ideal para estudiantes, entrevistas técnicas y repaso práctico.
- ¿Qué algoritmos relacionados hay con Montículo (Heap)?
- En la misma categoría (Estructuras de Datos) puedes explorar: Stack, Queue, Linked List. Todos tienen visualización interactiva.