记得点击蓝字关注叉酱哦!题目:求孩子-兄弟树叶子节点数目TREE什么是孩子-兄弟树?

孩子兄弟表示法模型,每个结点都有一个指向其第一个孩子的指针,每个结点都有一个指向其第一个右兄弟的指针 。

算法思想:

在递归在孩子与兄弟中找叶子结点,找到i++,并返回;

样例调试

输入

A

B

#

C

D

#

#

E

#

#

#

输入2

A

B

#

C

F

H

I

#

#

#

G

#

#

D

#

E

#

#

#

源代码

#includeusing namespace std;#define TElemType chartypedef struct TreeNode{    TElemType data;    struct TreeNode *firstchild,*nextbrother;}TreeNode,*Tree;int CreateTree(Tree &T){  char ch;  cin>>ch;//输入  if(ch=='#')    {    T=NULL;  }  else    {    T=(Tree)malloc(sizeof(TreeNode));    if(!T)         {            cout<<"内存分配错误!!"<<endl;            exit(0);        }    T->data=ch;        cout<<"输入"<"的孩子(#为没有):";    CreateTree(T->firstchild);//有孩子结点,先创建孩子树        cout<<"输入"<"的兄弟(#为没有):";    CreateTree(T->nextbrother);//再创建兄弟的树  }  return 0;}//叶子节点数目int LeftNum(Tree T,int &i){    if(T)    {        if(!T->firstchild&&!T->nextbrother)        {            // cout<data<            i++;        }        LeftNum(T->firstchild,i);        LeftNum(T->nextbrother,i);    }    return i;}int main(){    Tree T;    int i;  cout<<"请输入孩子兄弟树(#为没有):";  CreateTree(T);  cout<<"树创建成功!"<<endl;    LeftNum(T,i);  cout<<"树的叶子数为:"<endl;    system("pause");}

结果分析

时间复杂度为O(nlog(n))

END扫码关注叉酱二叉树和叉酱呀!!!

打印二叉搜索树的叶子结点_求孩子兄弟树叶子节点数目相关推荐

  1. l2-004 这是二叉搜索树吗? (25分)_什么是 “线段树” ?

    线段树是一个复杂的数据结构,比较难理解,也比较难解释清楚.在我将这个数据结构反复学习了五遍的时候,我终于有了信心写出这篇介绍线段树的文章.希望大家能够掌握这种数据结构. 这篇文章比较长,建议大家耐心阅 ...

  2. 笛卡尔树 (25 分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字

    立志用最少的代码做最高效的表达 笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2.首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大.其次所有结点的 ...

  3. 常见数据结构详细图解、树的高度、深度、层数、跳表、二叉搜索树、平衡二叉树、红黑树、B树、B+树

    常见数据结构 常用的数据结构知识. 1.1 跳表 上图是一个有序链表,我们要检索一个数据就挨个遍历.如果想要再提升查询效率,可以变种为以下结构: 现在,我们要查询11,可以跳着来查询,从而加快查询速度 ...

  4. mysql叶子结点存储的什么_B+树叶子结点到底存储了什么?

    首先MYSQL默认InnoDB引擎,该引擎默认B+树:先说结论:B+树叶子结点存储的是主键KEY或者具体数据.分情况讨论: 主键KEY 比如说user_name是个索引,当执行该SQL:select ...

  5. 二叉搜索树的2层结点统计_植树节,程序猿种的那些树

    公历 3 月 12 日是一年一度的植树节.旨在宣传保护森林,并动员群众参加植树造林活动.说到树,程序猿们肯定不陌生,趁着这个植树节到来之时普及一下程序猿们经常遇见的树. 1. 二叉搜索树 定义 二叉搜 ...

  6. 什么是m叉树_树、二叉树、二叉搜索树的实现和特性

    ❝ 点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 回复「文章」获取系列完整文章,本文 org_hejianhui/JavaStudy 已经收录,欢迎Star. ❞ 前言 本篇先 ...

  7. 【每日一算法】二叉搜索树结点最小距离

    微信改版,加星标不迷路! 每日一算法-二叉搜索树节点最小距离 作者:阿广 阅读目录 1 题目 2 解析 1 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例: 输入 ...

  8. LeetCode 783. 二叉搜索树结点最小距离(中序遍历)

    1. 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例:输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树结点 ...

  9. leetcode —— 783. 二叉搜索树结点最小距离

    给定一个二叉搜索树的根结点 root,返回树中任意两节点的差的最小值. 解题思路:使用二叉搜索树的性质,因为题目是要寻找任意两个节点的差的最小值,因此可以通过中序遍历找到差的最小值. 其Python代 ...

最新文章

  1. 比特币现金(BCH)将在2018年占据主导地位
  2. YARN环境搭建 之 一:CentOS7.0系统配置
  3. Selenium 与 PhantomJS
  4. eclipse开发android的好处,从Eclipse切换到IntelliJ IDEA for Android开发的好处
  5. SAP CRM,C4C和Hybris的product Cockpit
  6. ibm服务器芯片架构,IBM x366 服务器技术详解
  7. hdu--4028--dp
  8. 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
  9. poj 1363 Rails 栈应用基础题
  10. 09月23日 pytorch与resnet(一)
  11. js中0.1+0.2 与0.3的对比
  12. 一定质量的封闭气体被压缩后_详解螺杆压缩机工作原理及结构
  13. 在r中弄方差分析表_使用R语言进行单因素方差分析
  14. 小米游戏本bios更新_小米笔记本 Pro 15.6 独显MX150 版本升级BIOS.2019年1月7日.2020年5月8日补充结果.完本!...
  15. Infor CloudSuite Industrial (SyteLine) IDO 行授权 设置
  16. 关于DDS文件格式的说明
  17. [USACO 2.2.1] Preface Numbering
  18. knex 找不到mysql_node knex mysql ER_NOT_SUPPORTED_AUTH_MODE
  19. 39. 实战:基于api接口实现视频解析播放(32接口,窗口化操作,可导出exe,附源码)
  20. jQuery炫酷3d背景视觉差特效

热门文章

  1. 腾讯云数据库2020年度盛典等你来
  2. EasyRTMP实现的rtmp推流的基本协议流程
  3. 分支管理---解决冲突
  4. Angular4.0.0正式发布,附新特性及升级指南
  5. windows下,linux下c++生成文件夹
  6. go errgroup 递归搜索目录中的Go文件
  7. Cloudera Manager是什么?
  8. leetcode 433. Minimum Genetic Mutation | 433. 最小基因变化(图的DFS)
  9. 【REST】REST是什么
  10. C语言文件操作(二)对指定txt文件中的N个数排序