打印二叉搜索树的叶子结点_求孩子兄弟树叶子节点数目
孩子兄弟表示法模型,每个结点都有一个指向其第一个孩子的指针,每个结点都有一个指向其第一个右兄弟的指针 。
算法思想:
在递归在孩子与兄弟中找叶子结点,找到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扫码关注叉酱二叉树和叉酱呀!!!
打印二叉搜索树的叶子结点_求孩子兄弟树叶子节点数目相关推荐
- l2-004 这是二叉搜索树吗? (25分)_什么是 “线段树” ?
线段树是一个复杂的数据结构,比较难理解,也比较难解释清楚.在我将这个数据结构反复学习了五遍的时候,我终于有了信心写出这篇介绍线段树的文章.希望大家能够掌握这种数据结构. 这篇文章比较长,建议大家耐心阅 ...
- 笛卡尔树 (25 分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字
立志用最少的代码做最高效的表达 笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2.首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大.其次所有结点的 ...
- 常见数据结构详细图解、树的高度、深度、层数、跳表、二叉搜索树、平衡二叉树、红黑树、B树、B+树
常见数据结构 常用的数据结构知识. 1.1 跳表 上图是一个有序链表,我们要检索一个数据就挨个遍历.如果想要再提升查询效率,可以变种为以下结构: 现在,我们要查询11,可以跳着来查询,从而加快查询速度 ...
- mysql叶子结点存储的什么_B+树叶子结点到底存储了什么?
首先MYSQL默认InnoDB引擎,该引擎默认B+树:先说结论:B+树叶子结点存储的是主键KEY或者具体数据.分情况讨论: 主键KEY 比如说user_name是个索引,当执行该SQL:select ...
- 二叉搜索树的2层结点统计_植树节,程序猿种的那些树
公历 3 月 12 日是一年一度的植树节.旨在宣传保护森林,并动员群众参加植树造林活动.说到树,程序猿们肯定不陌生,趁着这个植树节到来之时普及一下程序猿们经常遇见的树. 1. 二叉搜索树 定义 二叉搜 ...
- 什么是m叉树_树、二叉树、二叉搜索树的实现和特性
❝ 点赞再看,养成习惯,微信搜一搜[一角钱小助手]关注更多原创技术文章. 回复「文章」获取系列完整文章,本文 org_hejianhui/JavaStudy 已经收录,欢迎Star. ❞ 前言 本篇先 ...
- 【每日一算法】二叉搜索树结点最小距离
微信改版,加星标不迷路! 每日一算法-二叉搜索树节点最小距离 作者:阿广 阅读目录 1 题目 2 解析 1 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例: 输入 ...
- LeetCode 783. 二叉搜索树结点最小距离(中序遍历)
1. 题目 给定一个二叉搜索树的根结点 root, 返回树中任意两节点的差的最小值. 示例:输入: root = [4,2,6,1,3,null,null] 输出: 1 解释: 注意,root是树结点 ...
- leetcode —— 783. 二叉搜索树结点最小距离
给定一个二叉搜索树的根结点 root,返回树中任意两节点的差的最小值. 解题思路:使用二叉搜索树的性质,因为题目是要寻找任意两个节点的差的最小值,因此可以通过中序遍历找到差的最小值. 其Python代 ...
最新文章
- 比特币现金(BCH)将在2018年占据主导地位
- YARN环境搭建 之 一:CentOS7.0系统配置
- Selenium 与 PhantomJS
- eclipse开发android的好处,从Eclipse切换到IntelliJ IDEA for Android开发的好处
- SAP CRM,C4C和Hybris的product Cockpit
- ibm服务器芯片架构,IBM x366 服务器技术详解
- hdu--4028--dp
- 轻松搭建基于 SpringBoot + Vue 的 Web 商城应用
- poj 1363 Rails 栈应用基础题
- 09月23日 pytorch与resnet(一)
- js中0.1+0.2 与0.3的对比
- 一定质量的封闭气体被压缩后_详解螺杆压缩机工作原理及结构
- 在r中弄方差分析表_使用R语言进行单因素方差分析
- 小米游戏本bios更新_小米笔记本 Pro 15.6 独显MX150 版本升级BIOS.2019年1月7日.2020年5月8日补充结果.完本!...
- Infor CloudSuite Industrial (SyteLine) IDO 行授权 设置
- 关于DDS文件格式的说明
- [USACO 2.2.1] Preface Numbering
- knex 找不到mysql_node knex mysql ER_NOT_SUPPORTED_AUTH_MODE
- 39. 实战:基于api接口实现视频解析播放(32接口,窗口化操作,可导出exe,附源码)
- jQuery炫酷3d背景视觉差特效