Какая структура данных используется для реализации динамической памяти?
Я всегда предполагалкуча (структура данных) используется для реализациикуча (динамическое распределение памяти), но мне сказали, что я не прав.
Как работают кучи (например, тот, который реализован типичнымmalloc
подпрограммы или WindowsHeapCreate
и т.д.) реализовано, как правило? Какие структуры данных они используют?
При поиске в Интернете я виделтонны описания того, как реализовать кучис жесткими ограничениями.
Чтобы назвать несколько, я видел много описаний того, как реализовать:
И это забавно, они все избегают более сложного вопроса:
Как "нормальные", кучи общего назначения (как та, что позадиmalloc
, HeapCreate
) реализовано?
Какие структуры данных (и, возможно, алгоритмы) они используют?