Skip to content

Структура данных Heap (кучи) и Stack (стека)

В этой теме мы рассмотрим:

  • что такое Heap (куча) и как с ней работать;

  • пример работы Heap в Golang;

  • что такое Stack (стек) и как он работает;

  • пример работы Stack в Golang.

Heap (куча)

Структура данных куча представляет собой полное двоичное дерево, удовлетворяющее свойству кучи, в котором любой заданный узел:

  • всегда больше, чем его дочерние узлы, а ключ корневого узла является самым большим среди всех других узлов (это свойство называется Max Heap).

  • всегда меньше, чем дочерний узел/узлы, а ключ корневого узла меньше всех остальных узлов (это свойство называется Min Heap).

Max-Heap

Min-Heap

Этот тип структуры данных также называется двоичной кучей.