一、问题引入

  • 已知一颗以二叉链表方式存储的二叉树,编写算法计算二叉树的单孩子的结点数。单孩子是指该结点只有左孩子或只有右孩子(其实就是求度为1的结点个数)

二、算法实现

typedef struct Node {DataType data;//数据域struct Node *leftchild;//左子树指针struct Node *rightchild;//右子树指针
}BiTreeNode;

用递归实现特别简单

//计算二叉树中度为1的结点总数
int leaf_1(BiTreeNode *T) {if (T==NULL) {return 0;}if ((T->leftchild == NULL && T->rightchild != NULL) || (T->leftchild != NULL && T->rightchild == NULL)){return 1 + leaf_1(T->leftchild) + leaf_1(T->rightchild);}return leaf_1(T->leftchild) + leaf_1(T->rightchild);
}

求二叉树中度为1的结点个数相关推荐

  1. 求二叉树第K层的节点个数+求二叉树叶子节点的个数

    size_t _FindLeafSize(Node* root)     //求二叉树叶子节点的个数     {         //static size_t count = 0;          ...

  2. 求二叉树中第K层结点的个数

    一,问题描述 构建一棵二叉树(不一定是二叉查找树),求出该二叉树中第K层中的结点个数(根结点为第0层) 二,二叉树的构建 定义一个BinaryTree类来表示二叉树,二叉树BinaryTree 又是由 ...

  3. 求二叉树中结点个数代码java_求二叉树中第K层结点的个数

    一,问题描述 构建一棵二叉树(不一定是二叉查找树),求出该二叉树中第K层中的结点个数(根结点为第0层) 二,二叉树的构建 定义一个BinaryTree类来表示二叉树,二叉树BinaryTree 又是由 ...

  4. 树:求二叉树的高度和叶子结点数量

    算法代码很简单都是用使用递归计算,大家把递归思想领悟到就ok了. 二叉树高度算法 //求二叉树的高度 采用递归的方式 void GetHeight(BiTree tree, int* heightNu ...

  5. 【数据结构】(二叉树)递归求解双分支结点个数

    算法思想: 求二叉树双分支结点个数就是当一个结点左右孩子非空 时该结点为双分支结点 //二叉树结构体定义 typedef struct BiTree{char data;BiTree *lchild; ...

  6. (数据结构)1.实现二叉树的各种基本运算的算法2.实现二叉树的各种遍历算法3. 由遍历序列构造二叉树4.求二叉树中的结点个数、叶子节点个数、某结点层次和二叉树宽度

    实验内容 1.假设二叉树中的每个结点值为单个字符,采用二叉链存储结构存储.设计一个算法,计算一棵给定二叉树b中的所有单分支结点个数. 2.假设二叉树中的每个结点值为单个字符,采用二叉链存储结构存储.设 ...

  7. 31行代码AC——PTA 求二叉树的叶子结点个数 (20分)——解题报告

    励志用尽量少的代码做高效的表达. 以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数. 输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空 ...

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

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

  9. 二叉树题目----4 前序遍历重构二叉树 AND 求二叉树中所有结点的个数

    前序遍历重构二叉树 思路 整个二叉树用数组存储 因为先序遍历它先遍历根,再遍历左,左边没有跑完是不会去遍历右边的,所以遍历左子树,就是数组元素每回向后一个,个数-1 遍历右边时,就是数组起始位置+左子 ...

最新文章

  1. JQUERY知识总结
  2. 傅盛:AI是企业弯道超车的机会,大家在同一起跑线上
  3. 分层模型:OSI与TCP/IP
  4. LaTeX基础一:安装与基本操作
  5. CuteEditor—Html在线编辑器的领航者,超强的asp.net编辑器控件
  6. 是时候展现真正的技术了!4道程序员智力题你能对几道| IT巨能唠
  7. linux服务器安装php7_CentOS 7 下 PHP 7.1.12 安装配置
  8. 汇编--查找第一个非0字符的五种方法
  9. 去年的今天我们举行了婚礼
  10. php字符串去重和去空,php去空格
  11. Vue中 实现 Echarts 图表宽高自适应
  12. 根据中文字符串查询拼音声母
  13. 折腾一台准系统及i5 6600t简单测评
  14. 浅谈利用强化学习A3C玩转超级玛丽奥
  15. 微信后台服务器能查撤回的消息吗,微信撤回的消息还能看到吗?查看方法介绍...
  16. Mac(M1)安装VMware虚拟机及Linux系统
  17. 成品、预售、老店翻新、教练:邀约话术(绝干干货)-健身房管理系统结捷径系统
  18. java es nested_关于nested类型的使用
  19. 基于JavaScript实现拼图游戏
  20. 2020.2.19作业单

热门文章

  1. zigbee 终端设备如何离开当前网络
  2. 20194711 阚宇航 第一次软工作业
  3. EAUML日拱一卒-微信小程序实战:位置闹铃 (14)-分析监控点状态
  4. WAP1.0 前端开发经验(转)
  5. 现在热床寄到了,现在我将热床安装到3D打印机上 --- 3D打印机的底盘校正
  6. led显示屏应用于舞台搭建的解决方案以及需要注意的细节分析
  7. ue5 lyra camera
  8. mipi DPHY时序讲解
  9. 28岁实现财务自由,网友:打扰了
  10. 抖音短视频如何做到“精准获客”