一个关于平衡二叉树中平衡因子的问题

你说的是AVL树吧,如果是AVL树,递归回溯的时候就更新平衡因子了。比如插入,你找插入位置一般是个递归过程(非递归也可以,估计会很麻烦)。找到位置后回溯时更新平衡因子,判断若平衡因子不符合条件,AVL树是height(T-left)-height(T-right)==2,则旋转(其中一种情况)删除也是同理
■网友
维护平衡因子相比维护高度确实情况要复杂一些, 不过只要耐下心来也不难把所有的情况分析出来.关键的地方在于: 插入和删除节点时, 对于双旋的情况, 需要同时根据子节点和二级字节点来更新平衡因子.
■网友
记录树高即可。
■网友
不用记录平衡因子,只要在旋转前判断grandpa另一个子节点是否存在,旋转后肯定是平衡状态了


    推荐阅读