若平衡二叉树的高度为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开始算。
使用js实现数组的快速排序
一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是多少?
什么是 Cookie?它的作用是什么?
用一条线(可以是折线)分割多边形为面积相等的两部分
太给力了 醍醐灌顶
平衡二叉树:深度为h
f(n) = f(n-1)+f(n-2)+1 = F(n+2)-1 ;其中F(n) 为斐波拉契数列
除叶节点外平衡因子都为1,说明左子树都比右子树高度多1,也就是说,是左子树撑起了该局部根节点的高度,所以可以按照这样的思路,自顶而下画这棵树:(节点标号是为了区分各个节点)
为了看着清楚些,我把各层子节点提出来了,最后只需要自底而上把整个树合并起来就行。
按照fib公式算也是可以的,需要注意有的书里高度是从0开始算,有的是从1开始算。