У меня есть следующее AVL дерево:Перебалансирования в AVL дерева
10
/ \
5 12
/\ /\
2 8 11 13
/\ /\
1 4 7 9
Если я вставляю 3, то я получаю:
10
/ \
5 12
/\ /\
2 8 11 13
/\ /\
1 4 7 9
/
3
Если рассчитать коэффициент баланса для каждого узла, кажется, что каждый BF : (Узел: BF) -> 10: 1, 5: 0, 2: -1, 1: 0, 4: -1, 8: 0, 7: 0, 9: 0, 3: 0, 12 : 0, 11: 0, 13: 0 Но, похоже, это дерево нужно перебалансировать. Где есть недействительный BF, а затем, как бы сделать необходимые вращения.
Как вы определяете эти факторы баланса? Мне кажется, что вы делаете это неправильно. –