1 / 19
文档名称:

用递归和非递归算法实现二叉树的三种遍历.doc

格式:doc   大小:94KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用递归和非递归算法实现二叉树的三种遍历.doc

上传人:pk5235 2022/1/23 文件大小:94 KB

下载得到文件列表

用递归和非递归算法实现二叉树的三种遍历.doc

相关文档

文档介绍

文档介绍:.
19 / 19
《数据结构与算法》实验报告三
——二叉树的操作与应用
实验目的
熟悉二叉链表存储结构的特征,掌握二叉树遍历操作与其应用
实验要求〔题目〕
说明:以下题目中〔一〕为全体必做,〔二〕〔三〕任选其一完成

CreateBiTree<&<<*bt>->rchild>>;
}
}
void PreOder<BiTree root>
{if<root!=NULL>
{printf<"%4c",root->data>;
PreOder<root->lchild>;
PreOder<root->rchild>;
}
}
main<>
{
BiTree root;
CreateBiTree<&root>;
printf<"先序遍历:\n">;
PreOder<root>;
}
递归算法:
#include""
#define PR printf
#define ERROR 0
.
5 / 19
#define MAX 100
/*============================建立各结构体===============================*/
typedefstruct node
{
char data; /*数据域*/
struct node *lchild;
struct node *rchild; /*结点的左右指针,分别指向结点的左右孩子*/
}BTNode;
typedef BTNode *DataType;
typedefstruct
{
DataType data[MAX];
int top;
}SeqStack;
SeqStack *s;
/*============================栈的操作===================================*/
SeqStack *createemptystacks<> /*创建一个空栈*/
{
SeqStack *s;
s=<SeqStack*>malloc<sizeof<SeqStack>>;
.
6 / 19
s->top=0;
return s;
}
int stackemptys<SeqStack *s> /*判栈空*/
{
return s->top==0;
}
int stackfulls<SeqStack *s> /*判栈满*/
{
return s->top==MAX;
}
void pushs<SeqStack *s,DataType x> /*进栈*/
{
if<stackfulls<s>>
PR<"over flow\n">;
else
s->data[s->top++]=x;
}
void pops<SeqStack *s> /*退栈*/
{
if<stackemptys<s>>
PR<"underflow\n">;
.
7 / 19
else
s->top--;
}
DataType gettops<SeqStack *s> /*栈非空时取栈顶元素*/
{
return s->data[s->top-1];
}
/*============================建立二叉树==================================*/
BTNode *createbintree<> /*输入扩充的先序序列,建立二叉树*/
{
BTNode *t;
char x;
scanf<"%c",&x>;
if<x=='#'>
t=NULL; /*读入#,返回空指针 */
else
{
t=<BTNode *>malloc<sizeof<BTNode>>; /*生成结点*/
t->data=x;
t->lchild=createbintree<>; /*构造左子树*/
t->rchild=createbintree<>; /*构造右子树*/
.
8 / 19
}
return<t>;
}
/*==============================树的遍历===================================*/
void preorder<BTNode *t> /*NLR 先序遍历*/
{
if<t!=NULL>
{
PR<" %

最近更新

《油气储运系统自动化》第四章6节 scada系统.. 19页

2025年电磁炉项目建议书 43页

2025年滴定仪合作协议书 55页

2025年玻璃钢复合材料项目建议书 54页

关于山西农业经济结构的初步探讨 2页

2025年糖尿病检测关键指标解读 62页

关于小修养护投资分配问题的探讨 2页

2025年糖尿病患者秋季保健攻略 70页

关于对外开放国策几个问题的探讨 2页

关于室内设计中手绘与电脑表现手法的探讨 2页

关于宏观经济规划实施保障体系的系统研究 2页

《胰岛素的临床应用》 20页

2025年类风湿关节炎日常护理要点 54页

关于太阳宇宙线传播问题的研究 2页

人教版教学课件生物:6.1《细胞的增殖》课件(.. 36页

关于外贸冷库合理配置变压器容量的探讨 2页

2025年神经系统解析大全 200页

2025年神经与激素调节作用比较解析 22页

关于土与土体工程地质研究的新进展 2页

关于国际经济新秩序的理论探索 2页

关于国家调控生产资料市场的若干理论问题研究.. 2页

《学习型组组织理论》 38页

关于吸收稳定系统节能优化改造的研究 2页

2025年痛风与高尿酸血症精准诊断与有效治疗策.. 61页

2025年病理学复习精华重点标本解析攻略 99页

2025年病毒尿囊液提取与血凝检测技术探讨 15页

2025年疼痛治疗中糖皮质激素的精准运用策略 64页

关于双轴拉伸高聚物形态结构的研究 2页

关于去污力测定方法的若干问题 2页

关于南通中小企业管理升级的研究 2页