一个关于平衡二叉树中平衡因子的问题
你说的是AVL树吧,如果是AVL树,递归回溯的时候就更新平衡因子了。比如插入,你找插入位置一般是个递归过程(非递归也可以,估计会很麻烦)。找到位置后回溯时更新平衡因子,判断若平衡因子不符合条件,AVL树是height(T-left)-height(T-right)==2,则旋转(其中一种情况)删除也是同理
■网友
维护平衡因子相比维护高度确实情况要复杂一些, 不过只要耐下心来也不难把所有的情况分析出来.关键的地方在于: 插入和删除节点时, 对于双旋的情况, 需要同时根据子节点和二级字节点来更新平衡因子.
■网友
记录树高即可。
■网友
不用记录平衡因子,只要在旋转前判断grandpa另一个子节点是否存在,旋转后肯定是平衡状态了
推荐阅读
- 同比■同比增长7.1%!2021年的第一个节你花了多少钱?
- “他是我第一个会说普通话的老师”:一对师生折射青海山村蝶变
- 过节■江苏省委省政府办公厅下发关于做好2021年元旦春节期间有关工作的通知
- 有必要重新开个C店吗
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 汽车|长安UNI-K又将开创一个新的"引力"纪元?
- 神话|武汉传奇父亲:一个平行班孩子创造的高考神话(感动上万家长)
- 王者荣耀李白能不能出肉
- 直播会成为品牌传播的另一个途径么有哪些可行的方法感觉有戏又没头绪好捉急。
- 怎样成为一名合格的Python程序员?
