已知一棵完全二叉树,求其节点的个数

遍历算法时间复杂度是O(N),而遍历是低于O(N)的 我们可以利用满二叉树的结点个数为 2^h-1 (h为树的层数)来加速这个过程。 我们用h总 纪录变量最深到了哪一层 然后遍历x右子树的左边界 我们看右子树的左边界有没有到达最后一层 如果x的右子树的左边界已经到达最后一层 那么x的左子树就是满的 ! 且左子树高度为h总-1 同时,因为左子树是满的,所以,其节点个数为 2^(h总-1)-1 算上根
相关文章
相关标签/搜索