二叉树02

为了加强记忆我又写了一遍二叉树的基本代码。比上一次多了一点点功能。

  1 #include<stdio.h>
  2 #include<iostream>
  3 using namespace std;
  4 struct Bitree{//二叉树的结构 
  5     int val;
  6     Bitree *lchild,*rchild;
  7 };
  8 void creat(Bitree * &T)//创建树 
  9 {
 10     int ch;
 11     scanf("%d",&ch);
 12     if(ch==0)
 13     T=NULL;
 14     else
 15     {
 16         T=new Bitree;
 17         T->val=ch;
 18         creat(T->lchild);
 19         creat(T->rchild);
 20     }
 21 }
 22 void qshow(Bitree *T)//前序遍历一棵树 
 23 {
 24     if(T!=NULL)
 25     {
 26         printf("%d\t",T->val);
 27         qshow(T->lchild);
 28         qshow(T->rchild);
 29     }
 30 }
 31 void zshow(Bitree *T)//中序遍历一棵树 
 32 {
 33     if(T!=NULL)
 34     {
 35         zshow(T->lchild);
 36         printf("%d\t",T->val);
 37         zshow(T->rchild);
 38     }
 39 }
 40 void hshow(Bitree *T)//后序遍历一棵树 
 41 {
 42     if(T!=NULL)
 43     {
 44         hshow(T->lchild);
 45         hshow(T->rchild);
 46         printf("%d\t",T->val);
 47     }
 48 }
 49 void copy(Bitree *T,Bitree * &T1)//复制一棵树 
 50 {
 51     if(T==NULL)
 52     T1=NULL;
 53     else
 54     {
 55         T1=new Bitree;
 56         T1->val=T->val;
 57         copy(T->lchild,T1->lchild);
 58         copy(T->rchild,T1->rchild);
 59     }
 60 }
 61 void delete_(Bitree * &T,int e)//删除一个值为e的结点及其所有孩子 
 62 {
 63     if(T==NULL)
 64     return;
 65     else
 66     {    
 67         if(T->val==e)
 68         T=NULL;
 69         else
 70         {
 71             delete_(T->lchild,e);
 72             delete_(T->rchild,e);
 73         }
 74      }
 75 } 
 76 int countyz(Bitree *T)//统计叶子结点数目 
 77 {
 78     int count1,count2;
 79     if(T==NULL)
 80     return 0;
 81     if(T->lchild==NULL&&T->rchild==NULL)
 82     return 1;
 83     else
 84     {
 85         count1=countyz(T->lchild);
 86         count2=countyz(T->rchild);
 87     } 
 88     return count1+count2;
 89 } 
 90 int maxdeep(Bitree *T)//树的最大深度 
 91 {
 92     if(T==NULL)
 93     return 0;
 94     else
 95     {
 96         int rlength,llength;
 97         rlength=maxdeep(T->rchild)+1;
 98         llength=maxdeep(T->lchild)+1;
 99         return llength>rlength?llength:rlength;    
100     }    
101 } 
102 int  mindeep(Bitree *T)//二叉树的最小深度 
103 {
104     if(T==NULL)
105     return 0;
106     if(T->lchild==NULL&&T->rchild==NULL)
107     return 1;
108     else if(T->lchild!=NULL)
109     return mindeep(T->lchild)+1;
110     else if(T->rchild!=NULL)
111     return mindeep(T->rchild)+1;
112     else
113     {
114         int rl=mindeep(T->rchild)+1;
115         int ll=mindeep(T->lchild)+1;
116         return rl>ll?ll:rl;
117     }
118 }
119 /*int main()
120 {
121     Bitree *T,*T1;
122     creat(T);
123     qshow(T);
124     printf("\n");
125     copy(T,T1);
126     qshow(T1);
127     printf("\n");
128     delete_(T,3);
129     qshow(T);
130     printf("\n");
131     printf("%d\n",countyz(T1));
132     printf("%d\n",maxdeep(T1));
133     printf("%d\n",mindeep(T1));
134     return 0;
135 } */

小白在成长

转载于:https://www.cnblogs.com/97-ly/p/6840101.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个对称性解释三个宇宙学难题;引力波碰撞会发光?粘液霉菌助力寻找宇宙网 | 一周科技速览...

来源&#xff1a;返朴撰文 &#xff1a;董唯元、杨凌、顾舒晨、洪俊贤、太阁尔、姜小满目 录1. 一个对称性解释三个宇宙学难题2. 引力波碰撞会发光&#xff1f;3. 粘液霉菌助力寻找宇宙网4. 听&#xff0c;是杂质原子的声音5. 更快了&#xff01;地球的大型生态系统在崩溃6. 究…

如何用python爬虫赚早餐_如何利用python爬虫挣钱

Python爬虫是用Python编程语言实现的网络爬虫&#xff0c;主要用于网络数据的抓取和处理&#xff0c;相比于其他语言&#xff0c;Python是一门非常适合开发网络爬虫的编程语言&#xff0c;大量内置包&#xff0c;可以轻松实现网络爬虫功能。那么使用python如何赚钱呢&#xff1…

一ElasticSearch安装启动

参考官方&#xff1a;https://www.elastic.co/downloads/elasticsearch 转载于:https://www.cnblogs.com/tangyongathuse/p/6840231.html

python中表达式4+0.5值的数据类型为_python中,数字类型计算

说明&#xff1a;今天在看python数字类型的操作&#xff0c;在此记录下。操作过程&#xff1a;1.数字的加减乘除>>> 2 24>>> 4 - 22>>> 2 - 4-2>>> 2 * 24>>> 2 / 2 #除法的结果会返回小数的结果&#xff0c;如果是整除&#xf…

结构化数据不应该被人工智能忘之脑后 !

来源&#xff1a;Ihab Ilyas在处理非结构化数据的问题上&#xff0c;人工智能和深度学习方法一直都表现出众且广为人知&#xff0c;无论是在自然语言处理、知识库自动构建&#xff0c;还是图像视频的识别和生成应用中&#xff0c;都有很多成熟案例。然而对于结构化数据的研究&a…

php修改找不到数据类型,php – 在$_POST中找不到输入类型=图像值

只需使用var_dump()来查看$_POST中的内容&#xff1a;var_dump($_POST);您会看到,当您使用< input type “image”>提交表单时,您会得到&#xff1a;arraybuyuka_x > string 0 (length1)buyuka_y > string 0 (length1)所以,没有$_POST [‘buyuka’] – 相反,有&…

java数据类型转换和数组总结

流程控制 分支 循环语句     if...else...     if...else if...else switch(值0) { ------------值0是什么类型, case后面的值就要是什么类型       case 值1:         执行语句         break;       case 值1:         …

导入自定义模块syntaxerror: invalid syntax_技术分享 | Quill的模块机制

DevUI技术体验部是一支兼具设计视角和工程视角的团队&#xff0c;服务于华为云DevCloud平台和华为内部上百个中后台系统&#xff0c;主打产品 DevUI Design 服务于设计师和前端工程师。官方网站&#xff1a;devui.design。Ng组件库&#xff1a;ng-devui。DevUI Design&#xff…

我们对时间的理解错了吗?

来源&#xff1a; 利维坦文/Claudia Hammond译/boomchacha校对/Rachel原文/www.bbc.com/future/article/20191203-what-we-get-wrong-about-time“时间”是常见的名词。我们都熟知时间流逝的感觉&#xff1a;现在变成过去&#xff1b;今天变成昨天。你要是住在温带&#xff0c;…

php jquery validate remote,jquery插件validate里面的remote参数用法

validate验证在进行异步数据库查询验证的过程中用到了remote这个参数remote里面有url,dataType,data,type等等这几个参数&#xff0c;当data不写的时候默认是当前被验证的字段的值。传值到php文件中&#xff0c;在php文件中处理的时候&#xff0c;返回值为 “true”或者"f…

SVN使用过程中遇到的一些问题

更新svn的客户端TortoiseSVN后 &#xff0c;之前使用svn管理的文件的关联图标消失了 说明:下面的解决方法及图片来自博客&#xff1a;装了SVN&#xff0c;你的关联图标变了没有&#xff1f; 解决办法&#xff1a;在同步的文件点击右键如下图 ...现则Settings&#xff0c;出现的…

python计算线性相关系数_Python+pandas计算数据相关系数(person、Kendall、spearman)

pandas中DataFrame对象corr()方法的用法&#xff0c;该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数、Kendall Tau相关系数和spearman秩相关)。pandas相关系数-DataFrame.corr()参数详解DataFrame.corr(methodpearson, min_periods1)参数说明&#xf…

matlab设置非平坦结构元,详解MATLAB/Simulink通信系统建模与仿真图书信息

第1章 Simulink基础1.1 Simulink简介1.2 运行Simulink演示程序1.2.1 运行房屋热力学系统演示模型1.2.2 房屋热力学系统模型说明1.2.3 其他Simulink演示程序1.3 建立一个简单的Simulink模型1.4 保存Simulink模型1.5 打印及HTML报告1.5.1 打印模型1.5.2 生成模型报告1.6 打印边框…

创建Socket【Socket编程4】

java在包java.net中提供了两个类Socket和ServerSocket&#xff0c;分别用来表示双向连接的客户端和服务端。这是两个封装得非常好的类&#xff0c;使用很方便。其构造方法如下&#xff1a; Socket(InetAddress address, int port); Socket(InetAddress address, int port, bool…

python打包linux可执行文件_Linux下安装pyinstaller用于将py文件打包生成一个可执行文件...

听说pyinstaller多平台支持的比较好&#xff0c;考虑在linux(redhat 6 32-bit)上装个pyinstall,不过真的是遇到太多问题了。。。下面是安装和使用流程&#xff1a;安装使用流程1. 首先给系统装个easy_install&#xff0c; 如果装了的可以跳过这步到pypi官方网址 https://pypi.p…

oracle未找到时区,解决ORA-01882:未找到时区区域%s

和许多网友一样&#xff0c;今天遇到了ora-01882问题&#xff0c;查了matelink解决了&#xff01; 环境&#xff1a;Oracle server端版本&#xff1a;SQLgt; select * from v$version和许多网友一样&#xff0c;今天遇到了ora-01882问题&#xff0c;查了matelink解决了&#xf…

脑神经计算建模揭示前额叶皮层不同类型中间神经元在信息维持中的作用

来源&#xff1a;智能的本质与未来尽管占比相对锥形神经元数量少&#xff0c;但是中间神经元在大脑皮层实现认知功能中的作用却不容小觑。中间神经元的显著特点就是种类丰富&#xff0c;因此对不同类型中间经元在特定认知功能的分工作用的探索是揭示智能机制的关键之一。中国科…

支付宝支付-刷卡支付(条码支付)

此项目已开源欢迎Start、PR、发起Issues一起讨论交流共同进步 https://github.com/Javen205/IJPay http://git.oschina.net/javen205/IJPay 在官方的产品是叫做当面付 1、什么是当面付呢&#xff1f; 简单的讲就是条码支付(刷卡支付)、扫码支付、声波支付。 【官方是这样解释的…

solr做索引时抛出异常_Solr---gt;01

Solr介绍 什么叫做全文检索呢&#xff1f;这要从我们生活中的数据说起。 我们生活中的数据总体分为两种&#xff1a;结构化数据和非结构化数据。 1、结构化数据&#xff1a;指具有固定格式或有限长度的数据&#xff0c;如数据库&#xff0c;元数据等。 2、非结构化数据&a…

新冠肺炎疫情把科研推上“云端”

来源&#xff1a;新华网美国威斯康星国家灵长类动物研究中心的戴夫奥康纳清晨收到在伦敦的一名合作伙伴发来的论文预印本。这项研究在中国完成&#xff0c;两人通过企业协同云端办公软件Slack讨论了一上午。下午2点&#xff0c;奥康纳打开高清会议系统GoToMeeting&#xff0c;和…