统计完全二叉树的节点数
来源:互联网 发布:java知识地图软件 编辑:程序博客网 时间:2024/05/01 20:12
//统计完全二叉树的节点数public class NumOfTreeNode{ //二叉树节点的定义public static class Node{public int value;public Node left;public Node right;public Node(int data){this.value=data;}} //统计完全二叉树节点的数量 public static int NodeNum(Node head){ if(head==null) { return 0; } return bs(head,1,mostLeftLevel(head,1)); } public static int bs(Node node,int l ,int h){ if(l==h) { return 1; } if (mostLeftLevel(node.right, l + 1) == h) {return (1 << (h - l)) + bs(node.right, l + 1, h);} else {return (1 << (h - l - 1)) + bs(node.left, l + 1, h);} } public static int mostLeftLevel(Node node ,int level){ while(node!=null) { level++; node=node.left; } return level-1; }public static void main(String[]args){ /*构造的二叉树 1 2 3 4 5 6*/ Node head=new Node(1); head.left=new Node(2); head.right=new Node(3); head.left.left=new Node(4); head.left.right=new Node(5); head.right.left=new Node(6); System.out.println(NodeNum(head));}}
阅读全文
0 0
- 统计完全二叉树的节点数
- 统计完全二叉树的节点数
- Count Complete Tree Nodes 统计完全二叉树的节点数
- 二叉树问题---统计完全二叉树的节点个数
- 完全二叉树节点数
- 完全二叉树节点数
- 树——统计完全二叉树的节点数目
- [各种面试题] 完全二叉树节点个数的统计
- LeetCode 222. Count Complete Tree Nodes(完全二叉树节点数统计)
- 完全二叉树统计节点个数【使用二分搜索】
- 二分搜索—— 完全二叉树统计节点个数
- Tree-----222. Count Complete Tree Nodes(统计完全二叉树的节点个数)
- 二叉树统计节点
- 完全二叉树的节点个数
- 完全二叉树,知道总节点数,计算叶子结点的数量
- LeetCode222 Count CompleteTree Nodes(计算完全二叉树的节点数) Java 题解
- 求完全二叉树的节点数 时间复杂度小于O(N)
- 222. Count Complete Tree Nodes | 完全二叉树的节点数
- 课题构思模板
- 在 springMVC 中整合表格插件 jqGrid
- 机器学习笔记
- POJ 1456 supermarket(贪心加并查集)
- 协调多个对象之间的交互——中介者模式(一)
- 统计完全二叉树的节点数
- java字符串startsWith和endWith方法
- 7-10 公路村村通(30 分)
- 机器学习笔记
- C++实训6
- 链接
- gradle 用户手册 第3章 安装Gradle
- 19. Remove Nth Node From End of List
- DBUtils