如果给定完全二叉树的节点个数,能不能求完全二叉树的叶子节点个数?
设总节点个数为n,度为1的节点个数为n1,度为0为n0,度为2为n2
那么n=n0+n1+n2 (1)
对于完全二叉树
n1=0;或者n1=1;
又对于每个度为2的节点,它都有2个子节点,所以又有总的节点个数是(从每个节点的子节点来考虑)
n=2*n2+1+n1 (2)(其中的1是根节点,这种算法相当于从根节点不断向下一层propagate)
那么综合(1),(2)可以得到n0
如果给定完全二叉树的节点个数,能不能求完全二叉树的叶子节点个数?
设总节点个数为n,度为1的节点个数为n1,度为0为n0,度为2为n2
那么n=n0+n1+n2 (1)
对于完全二叉树
n1=0;或者n1=1;
又对于每个度为2的节点,它都有2个子节点,所以又有总的节点个数是(从每个节点的子节点来考虑)
n=2*n2+1+n1 (2)(其中的1是根节点,这种算法相当于从根节点不断向下一层propagate)
那么综合(1),(2)可以得到n0