二叉树的创建与遍历
来源:互联网 发布:西安聚航网络 编辑:程序博客网 时间:2024/06/09 15:26
//先序遍历二叉树
pre_order_travel(bitree T)
{
if(T)
{
visit(T->data);//访问根节点
pre_order_travel(T->lchild);//遍历左子树
pre_order_travel(T->rchild);//遍历右子树
}
}
//中序遍历二叉树
in_order_travel(bitree T)
{
if(T)
{
in_order_travel(T->lchild);
visit(T->data);
in_order_travel(T->rchild);
}
}
//后序遍历二叉树
post_order_travel(bitree T)
{
if(T)
{
post_order_travel(T->lchild);
post_order_travel(T->rchild);
visit(T->data);
}
}
“`
例题
创建上图所示的二叉树,并求出D所在的层数
示范代码
#include<cstdio>#include<malloc.h>typedef struct Node{ char data; struct Node *lchild,*rchild;}binode,*bitree;//先序创建二叉树void createbitree(bitree *T){ char c; scanf("%c",&c); if(c==' ')*T=NULL; else { *T=(bitree)malloc(sizeof(binode)); (*T)->data=c; createbitree(&((*T)->lchild)); createbitree(&((*T)->rchild)); }}void visit(char c,int level){ if(c=='D') printf("D is at level %d in the bitree\n",level);}void pre_order_travel(bitree T,int level){ if(T) { visit(T->data,level); pre_order_travel(T->lchild,level+1); pre_order_travel(T->rchild,level+1); }}int main(){ bitree T=NULL; createbitree(&T); pre_order_travel(T,1); return 0;}
阅读全文
0 0
- 二叉树的创建与遍历
- 二叉树的创建与遍历
- 二叉树的创建与遍历(递归)
- 二叉树的创建与遍历
- 二叉树的创建与遍历
- 二叉树的创建与遍历
- 二叉树的创建与遍历
- 二叉树的遍历与创建
- 二叉树的创建与遍历
- 二叉树的创建与层次遍历
- 二叉树的创建与递归遍历
- 二叉树的遍历与创建
- 二叉树的创建与遍历
- 二叉树的创建与遍历
- 非二叉树的创建与遍历
- 二叉树的创建与遍历
- 二叉树的遍历与创建
- 二叉树的创建与遍历1
- if elseif的使用
- WUA 系统更新补丁获取
- 关于 spring aop (aspectj) 你该知晓的一切
- 已知二叉树的前序序列和中序序列,求二叉树的后序序列
- Codeforces Round #427 (Div. 2)
- 二叉树的创建与遍历
- [leetcode]60. Permutation Sequence@Java解题报告
- Go 编译 build 然后run遇到的问题
- while的使用
- 1.显示字符串-汇编语言(王爽)-实验10 编写子程序
- 使用 SetDeviceGammaRamp 调整屏幕亮度
- 机器学习面试知识点总结
- Python3 学习札记(一)
- 【HDU1286】 找新朋友(欧拉函数-水题)