Кто-нибудь понял, почему область основной памяти, где размещаются объекты, называется кучей. Я могу понять обоснование для стека LIFO, но хотел бы знать, каково обоснование для имени «кучи».
10
Кто-нибудь понял, почему область основной памяти, где размещаются объекты, называется кучей. Я могу понять обоснование для стека LIFO, но хотел бы знать, каково обоснование для имени «кучи».
Ответы:
Из информации, найденной в StackOverflow - Каково происхождение термина «куча» для бесплатного магазина? и почему два разных понятия оба называются «куча»?
Эта информация по крайней мере восходит к Кнуту в 1975 году, ссылаясь на других (неназванных) авторов:
Также есть упоминание о дискуссии Вийнгаардена об Algol в начале 1970-х годов, в которой доступный пул памяти обозначается как куча (
heap
это зарезервированное слово в Algol, которое местами определяется как «выделять переменной некоторое свободное пространство из глобальной кучи». - Даты Algol68 с 1968 года).Реализация кучи ALGOL 68 1970 года может быть полезна для отслеживания некоторых аспектов происхождения слова, хотя и в значительной степени, если она находится за платным доступом.
источник