二叉树的建立、遍历等相关操作
来源:互联网 发布:sql server 2005 xp版 编辑:程序博客网 时间:2024/05/17 22:37
本文主要是关于树的相关操作,主要包括:二叉树的建立、3种遍历方式、叶子数、节点数、层数等。
#include<iostream> using namespace std; typedef struct node { struct node *leftChild; struct node *rightChild; char data; }BiTreeNode, *BiTree; //创建二叉树void createBiTree(BiTree &T) { char c; cin >> c; if('#' == c) { T = NULL; } else { T = new BiTreeNode; T->data = c; createBiTree(T->leftChild); createBiTree(T->rightChild); } } //前序遍历void preoederTrav(BiTree T){if (T){cout<<T->data<<' ';preoederTrav(T->leftChild);preoederTrav(T->rightChild);}}//中序遍历void midaordertravel(BiTree T){if (T){midaordertravel(T->leftChild);cout<<T->data<<' ';midaordertravel(T->rightChild);}}//后序遍历void lastorder(BiTree T){if (T){lastorder(T->leftChild);lastorder(T->rightChild);cout<<T->data<<' ';}}//树的节点数int Nodenum(BiTree T){ if (T==NULL) { return 0; } else { return 1+Nodenum(T->leftChild)+Nodenum(T->rightChild); }}//树的深度int Depth(BiTree T){ if (T) { return Depth(T->leftChild)>Depth(T->rightChild)? Depth(T->leftChild)+1:Depth(T->rightChild)+1; } if(T==NULL) { return 0; }}//叶子数 int leafnum(BiTree T) { if (!T) { return 0; } else if ((T->leftChild==NULL)&&(T->rightChild==NULL)) { return 1; } else { return (leafnum(T->leftChild))+(leafnum(T->rightChild)); } }int main() { BiTree T; createBiTree(T); cout<<"创建二叉树成功!"<<endl; cout<<"前序遍历:"<<endl; preoederTrav(T); cout<<endl; cout<<"中序遍历:"<<endl; midaordertravel(T); cout<<endl; cout<<"后序遍历:"<<endl; lastorder(T); cout<<endl; cout<<"树节点数:"<<Nodenum(T)<<endl; cout<<"树深度:"<<Depth(T)<<endl; cout<<"叶子数:"<<leafnum(T)<<endl; return 0; }
阅读全文
0 0
- 二叉树的建立、遍历等相关操作
- 二叉树的建立,及相关遍历
- 二叉树的建立及相关操作
- 二叉树的建立以及相关操作
- 二叉树的创建,遍历等操作
- 二叉树相关操作(最全前中后遍历 等)
- 递归建立和遍历二叉树等
- 线索二叉树的建立及其遍历访问操作
- 二叉树的建立、遍历
- 二叉树的 建立 遍历
- 二叉树的遍历建立
- 树的建立、遍历等
- java实现二叉树的建立,前中后序遍历,层次遍历,深度,节点个数等
- 二叉树的构建,遍历等基本操作
- 二叉树 建立及相关操作
- 二叉树的建立和递归遍历、非递归遍历操作
- 二叉树 建立 遍历
- 二叉树建立、遍历
- R-CNN之前的准备:Selective Search for Object Recognition
- 关于回调CallBack
- [Unity] RenderTexture上不显示粒子
- LWM2M协议调研
- 设计模式之六大原则——迪米特法则(LoD,LKP)
- 二叉树的建立、遍历等相关操作
- POJ 3125 Printer Queue
- 51nod 1116 K进制下的大数 利用同余式的乘法传递性质
- LWM2M开源协议栈——wakaama源代码分析
- java 数组的学习
- Nginx反向代理通过域名无法访问项目的解决办法
- VS2015在x86平台下找不到包含目录的问题
- 为git配置代理
- 翁恺老师第二周作业