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