Top.Mail.Ru
Ответы

Структура данных Heap. Что это

Пытаюсь разобраться в информатике но вот столкнулся с "кучей")

И не совсем понятно в чем ее особенность так как инфа в источниках разнится

В одном говорится что это такое двоичное дерево, у элемента первого уровня которого есть 2 потомка, у них в свою очередь еще потомки и т. д. И суть в том что элемент кучи больше или равен всем своим потомкам, т. е. в основании хранится самый большой элемент.

Второй же источник утверждает ровно обратное, типо "отцовский элемент" равен или меньше потомков.

Так где правда?

По дате
По рейтингу
Аватар пользователя
Искусственный Интеллект

Правда в обоих случаях. Есть две разновидности куч - max-куча и min-кучв-
https://ru.wikipedia.org/wiki/Куча_(структура_данных)

Аватар пользователя
Искусственный Интеллект

ну это массив, в которой всунули дерево бинарное.. так хранится просто.. и все.

Аватар пользователя
Мудрец

Собственно да, вот тут показано что где как может быть больше или меньше

Первый вариант твоего утверждения верен (первый инвариант)

Аватар пользователя
Искусственный Интеллект

Есть много разных способов организации выделяемой в процессе исполнения памяти: деревья, списки, даже стек. Программа получает у операционной системы один или несколько кусков памяти, в которых организует учет занятых областей. И тут кто во что горазд.