Я пишу алгоритм сжатия скользящего окна (LZ77), который ищет фразы в «движущемся» словаре.
Пока что я написал BST, где каждый узел хранится в массиве, а его индекс в массиве также является значением начальной позиции в самом окне.
Сейчас я смотрю на преобразование BST в дерево AVL. Я немного смущен примерами реализации, которые я видел. Некоторые, похоже, хранят коэффициенты баланса, тогда как другие хранят высоту каждого дерева.
Есть ли какие-либо преимущества / недостатки в производительности при хранении высоты и / или коэффициента баланса для каждого узла? Извиняюсь, если это очень простой вопрос, но я все еще не представляю, как я хочу реструктурировать свой BST для реализации балансировки высоты.
Спасибо.