若平衡二叉树的高度为6,且所有非叶结点的平衡因子均为 1,则该平衡二叉树的结点总数为( )。
A.12
B.20
C.32
D.33
正确答案是 B
太给力了 醍醐灌顶
平衡二叉树:深度为h
f(n) = f(n-1)+f(n-2)+1 = F(n+2)-1 ;其中F(n) 为斐波拉契数列
除叶节点外平衡因子都为1,说明左子树都比右子树高度多1,也就是说,是左子树撑起了该局部根节点的高度,所以可以按照这样的思路,自顶而下画这棵树:(节点标号是为了区分各个节点) 为了看着清楚些,我把各层子节点提出来了,最后只需要自底而上把整个树合并起来就行。按照fib公式算也是可以的,需要注意有的书里高度是从0开始算,有的是从1开始算。
从浏览器输入URL到展示页面的全流程是怎么样的?
使用js实现数组的快速排序
叉树前序遍历的递归和非递归实现?
什么是 Cookie?它的作用是什么?
太给力了 醍醐灌顶
平衡二叉树:深度为h
f(n) = f(n-1)+f(n-2)+1 = F(n+2)-1 ;其中F(n) 为斐波拉契数列
除叶节点外平衡因子都为1,说明左子树都比右子树高度多1,也就是说,是左子树撑起了该局部根节点的高度,所以可以按照这样的思路,自顶而下画这棵树:(节点标号是为了区分各个节点)
为了看着清楚些,我把各层子节点提出来了,最后只需要自底而上把整个树合并起来就行。
按照fib公式算也是可以的,需要注意有的书里高度是从0开始算,有的是从1开始算。