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