二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解

二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解

ID:14201156

大小:51.00 KB

页数:18页

时间:2018-07-26

二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解_第1页
二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解_第2页
二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解_第3页
二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解_第4页
二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解_第5页
资源描述:

《二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解二叉树的建立与遍历,叶子结点的数目以及树的深度的求法,采用递归求解.txt我不奢望什么,只希望你以后的女人一个不如一个。真怀念小时候啊,天热的时候我也可以像男人一样光膀子!是我个人写的,很简单的记录下来了,呵呵呵。我的百度空间:http://hi.baidu.com/heihei_shaweiwei/blog/item/eec5a3de6bb28c0462279805.html#includeusingnamesp

2、acestd;//定义树的结构typedefstruct_binTree{chardata;_binTree*lNode,*rNode;}binTree;//创建二叉树voidcreateT(binTree*&rootNode,binTree*tempNode){if(rootNode==NULL){rootNode=tempNode;return;}else{if(rootNode->data>tempNode->data){createT(rootNode->lNode,tempNode);}e

3、lseif(rootNode->datadata){createT(rootNode->rNode,tempNode);}}}//打印已创建的数voidprintT(binTree*rootNode){if(rootNode==NULL)return;else{printT(rootNode->lNode);cout<data<<"";printT(rootNode->rNode);}}//先序遍历二叉树voidpreTraverse(binTree*ro

4、otNode){if(rootNode==NULL)return;else{cout<data<<"";printT(rootNode->lNode);printT(rootNode->rNode);}}//中序遍历二叉树voidmidTraverse(binTree*rootNode){if(rootNode==NULL)return;else{printT(rootNode->lNode);cout<data<<"";printT(rootNode->

5、rNode);}}//后序遍历二叉树voidlastTraverse(binTree*rootNode){if(rootNode==NULL)return;else{printT(rootNode->lNode);printT(rootNode->rNode);cout<data<<"";}}//计算结点的总个数intnodeTotal(binTree*rootNode){if(rootNode==NULL)return0;else{return1+nodeTotal(root

6、Node->lNode)+nodeTotal(rootNode->rNode);}}//计算二叉树的深度inttreeDepth(binTree*rootNode){if(rootNode==NULL)return-1;else{intlH=treeDepth(rootNode->lNode);intrH=treeDepth(rootNode->rNode);if(lH>rH)returnlH+1;returnrH+1;}}//计算叶子结点的个数intleafTotal(binTree*rootNo

7、de){if(rootNode==NULL)return0;else{if(rootNode->lNode==NULL&&rootNode->rNode==NULL)return1;else{intlH=leafTotal(rootNode->lNode);intrH=leafTotal(rootNode->rNode);returnrH+lH;}}}intmain(){binTree*rootNode,*tNode;rootNode=NULL;tNode=NULL;charch;cout<<"按照

8、下面给出的顺序进行输入构建二叉树:"<>ch;while(ch!='0'){tNode=newbinTree;tNode->data=ch;tNode->lNode=NULL;tNode->rNode=NULL;createT(rootNode,tNode);cin>>ch;}if(rootNode==NULL){cout<<"TreeisNULL."<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。