很多书上其实都有提到和该算法。但是经过自己的学习我自己想到一个算法。算是结合了其中的优点吧。

  • 算法描述:该算法递归去统计结点个数。值得一提的是该系列算法都是统计根结点以下的符和条件的结点的个数进行了加和。免去的设置全局变量和void的类型的函数。
​
int CountNodes(LBTree* lbt)
{int n = 0;if (lbt != NULL){++n;n += CountNodes(lbt->lchild);n += CountNodes(lbt->rchild);}return n;
}int CountLeaves(LBTree* lbt)
{int n = 0;if (lbt != NULL){if (lbt->lchild == NULL && lbt->rchild == NULL)++n;n += CountLeaves(lbt->lchild);n += CountLeaves(lbt->rchild);}return n;
}int CountSingleNode(LBTree* lbt)
{int n = 0;if (lbt != NULL){if ((lbt->lchild == NULL && lbt->rchild != NULL) || (lbt->rchild == NULL && lbt->lchild != NULL))++n;n += CountSingleNode(lbt->lchild);n += CountSingleNode(lbt->rchild);}return n;
}int    CountDoubleNode(LBTree* lbt)
{int n = 0;if (lbt != NULL){if (lbt->lchild != NULL && lbt->rchild != NULL)++n;n += CountDoubleNode(lbt->lchild);n += CountDoubleNode(lbt->rchild);}return n;
}​

计算二叉树的叶子结点个数_C++数据结构二叉树统计总结点个数,叶子结点个数,单分支结点个数,双分支结点个数。...相关推荐

  1. 统计字符串中元音字母的个数 C语言编程,统计字符串中各元音字母(即A,E,I,O,U)的个数。...

    下列给定函数中,函数fun的功能是:统计字符串中各元音字母(即A,E,I,O,U)的个数.注意:字母不分大小写.例如,输入THIs is a boot,则应输出是1 0 2 2 0. 请改正程序中的错 ...

  2. 数据结构——二叉树的递归算法

    二叉树的结构定义: typedef struct BiNode {TElemType data;struct BiNode *lchild;struct BiNode *rchild; }BiNode ...

  3. 数据结构----二叉树叶子结点到根节点的高度计算

    数据结构----二叉树叶子结点到根节点的高度计算 代码: #include<stdio.h> #include<stdlib.h> typedef struct bstTree ...

  4. java 获取叶子节点个数_数据结构编程: 统计二叉树中叶子结点的个数。

    展开全部 叶子节点:没有孩子节点的节点 也就是说,当我们明白了叶子节点的定义62616964757a686964616fe59b9ee7ad9431333363376531后,只需要遍历一遍二叉树,把 ...

  5. c#二叉树 取叶子节点个数_数据结构第四章:树与二叉树(二叉树的概念、性质、特殊二叉树)...

    第四章:树与二叉树(二叉树的逻辑结构) 1.二叉树 二叉树是树结构的一种,故二叉树也是逻辑结构. 二叉树:二叉树是n(n≥0)个结点的有限集合. · 1)n=0时,二叉树为空; · 2)n>0时 ...

  6. 二叉树计算叶子节点c语言报告,二叉树计算叶子节点的算法(数据结构)C语言版...

    <二叉树计算叶子节点的算法(数据结构)C语言版>由会员分享,可在线阅读,更多相关<二叉树计算叶子节点的算法(数据结构)C语言版(1页珍藏版)>请在人人文库网上搜索. 1.* H ...

  7. 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)

    typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...

  8. 数据结构-二叉树(统计二叉树的结点个数递归与非递归算法)

    文章目录 思路 Java 实现 思路 求结点个数为什么能用递归? 二叉树求结点个数,从根结点开始,求二叉树结点个数,对于根结点就是求左右子树所有结点数之和再加一,对于左右子树又是如此计算,这样的形式满 ...

  9. 数据结构--二叉树--路径 假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点, 编写函数 path,计算root到 node 之间的路径,(该路径包括root结

    假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点, 编写函数 path,计算root到 node 之间的路径,(该路径包括root结点和 node 结点).pat ...

最新文章

  1. Novodex2.6.2 布料系统
  2. java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...
  3. 应用服务器复杂告警,如何让应用服务器走向集群
  4. spring-boot的spring-cache中的扩展redis缓存的ttl和key名
  5. NS2安装笔记 - Ubuntu9.10
  6. ssh图片上传 java_ssh上传并显示图片
  7. 为什么会有那么多人放弃编程?
  8. macosx 不允许无名信号量_个人对S12X的协处理器XGATE的信号量semaphore的理解
  9. sort colors 三色排序
  10. jquery html5关系图,html5 canvas复杂人物关系图设置代码
  11. echarts 关系图 力引导布局
  12. html input 密文,HTML input text框显示为密文
  13. 在Windows 10下提取/读取 Linux img 镜像文件
  14. 2020 消息中间件MQ与RabbitMQ面试题大全
  15. linux怎么查硬盘是否故障,怎么检查硬盘是否有问题
  16. linux学习随手笔记
  17. html2canvas图片的文字偏移,html2canvas在Vue项目踩坑-生成图片偏移不完整
  18. linux裸设备文件系统,关于裸设备,文件系统,CIO/DIO
  19. 区块链学习6:图灵完备和图灵不完备
  20. 深度学习 3d人脸 重建_深度学习实时3D人脸跟踪

热门文章

  1. 趣味思考--苹果剩余最大量
  2. Would It affect RAC clusterware and database If we adjust OS time/Clock?
  3. init.rc语法与解析
  4. Android8.1 Camera2+HAL3之HIDL open()流程(二十)
  5. 编译通用无界面版Emacs27.1
  6. Thinpad X1 2017款制作Win10启动盘
  7. Android5.1权限问题解决
  8. Android APK系列6-------APK反编译
  9. iOS 后台运行实现总结
  10. SpringBoot之集成MybatisPlus