爪哇2博客
爪哇2博客

在Java中计算二进制树中的叶节点的程序

在这篇文章中,我们将看到有关在Java中对二进制树中的叶节点进行计数的程序的信息

算法-

计算叶节点数量的步骤是:
    • 如果node为null,则返回0
    • 如果遇到叶节点(即node.left为null和node.right为null),则返回1。
    • 使用以下内容递归计算叶节点数

1
2
3
 
节点= 节点 剩下 子树 + 节点
 

递归代码将是:

1
2
3
4
5
6
7
8
9
10
11
12
13
 
//递归解决方案
    / *获取二叉树中叶节点的数量* /
    上市 静态的  整型 getLeafCountOfBinaryTree(树节点 节点)
    {
        如果(节点 == 空值)      
            返回 0;
        如果(节点.剩下 ==空值 && 节点.==空值)    
            返回 1;          
        其他
            返回 getLeafCountOfBinaryTree(节点.剩下)+ getLeafCountOfBinaryTree(节点.);    
    }
 

让我们创建一个用于计算叶节点数量的Java程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
组织.Arpit.爪哇2blog.二叉树;
 
上市 BinaryTreeLeafCount {
 
    上市 静态的 树节点
    {
        整型 数据;
        树节点 剩下;
        树节点 ;
        树节点(整型 数据)
        {
            这个.数据=数据;
        }
    }
 
    //递归解决方案
    / *获取二叉树中叶节点的数量* /
    上市 静态的  整型 getLeafCountOfBinaryTree(树节点 节点)
    {
        如果(节点 == 空值)      
            返回 0;
        如果(节点.剩下 ==空值 && 节点.==空值)    
            返回 1;          
        其他
            返回 getLeafCountOfBinaryTree(节点.剩下)+ getLeafCountOfBinaryTree(节点.);    
    }
 
    上市 静态的 虚空 主要([] args)
    {
        //创建一个二叉树
        树节点 根节点=createBinaryTree();
        系统..打印(“二叉树中的叶节点数:”+getLeafCountOfBinaryTree(根节点));
    }
 
    上市 静态的 树节点 createBinaryTree()
    {
 
        树节点 根节点 = 树节点(40);
        树节点 节点20= 树节点(20);
        树节点 节点10= 树节点(10);
        树节点 节点30= 树节点(30);
        树节点 节点60= 树节点(60);
        树节点 节点50= 树节点(50);
        树节点 节点70= 树节点(70);
 
        根节点.剩下=节点20;
        根节点.=节点60;
 
        节点20.剩下=节点10;
        节点20.=节点30;
 
        节点60.剩下=节点50;
        节点60.=节点70;
 
        返回 根节点;
    }
}
 

运行上面的程序,您将获得以下输出:

1
2
3
 
节点 二元 :4
 

请通过 常见Java面试程序  有关更多此类程序。


导入联系人

您可能还喜欢:

分享这个

作者

关注作者

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇2博客