1. Большой динамический пул памяти, который может использоваться данными, которые создаются при выполнении программы. Куча не должна быть перепутана со стеком, чье распределение памяти предопределено в порядке LIFO.
2. Специализированная структура данных, которая как частично отсортирована, так и основана на дереве, так как все родительские узлы больше, чем у дочерних узлов. Куча - это полное дерево, потому что каждый уровень заполняется (слева направо) перед добавлением узла на следующий уровень.
Условия программирования, стек