采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
刘老师,我有个问题想不明白,就是在删除AVL平衡树的时候,维护树的高度也是retNode.height = 1 + Math.max(getHeight(retNode.left), getHeight(retNode.right));那这样不是始终在加吗,比方说一个3层的树,删去最下面的叶子节点,剩下的2层的树不是应该高度都减少了吗,我始终想不明白,请您百忙之中为我释疑问?
因为叶子节点的高度为1,根节点的高度最高;
而不是根节点的高度为1:)
所以,删除了一个节点以后,只需要顺着这个节点往上更新高度值就够了,其他节点的高度值是不会变的:)
我明白了,刘老师,您的意思是递归的过程是从叶子节点开始逐步向上更新的,我原来以为是从根节点向下逐步更新的,谢谢,我懂了!感谢老师百忙之中为我答疑
应该的,继续加油!:)
老师您过谦了,可能我问题会多一点,不过您已经讲得很好了,再次感谢!:)
登录后可查看更多问答,登录/注册
动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…
10.3k 16
1.4k 17
1.3k 14
1.2k 14