1 / 13
文档名称:

二叉树的建立、遍历、各种算法.doc

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

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

分享

预览

二叉树的建立、遍历、各种算法.doc

上传人:xunlai783 2017/12/18 文件大小:45 KB

下载得到文件列表

二叉树的建立、遍历、各种算法.doc

相关文档

文档介绍

文档介绍:基于二叉树的二叉链表存储结构实现以下操作:
用先序遍历创建二叉树
对二叉树进行非递归遍历(先序、中序、后序)
求二叉树所有结点和叶子结点个数
求二叉树的深度
#include""
#include""
#include""
#include""
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
//#define OVERFLOW
#define NULL 0
typedef int Status;
typedef char TElemType;
typedef struct BiTNode
{
TElemType data;
struct BiTNode *lchild,*rchild;
}BiTNode, *BiTree;
typedef BiTree SElemType;//tepedef BiNode SElemType;
//#define MAX_TREE_SIZE 100
//typedef TElemtype SqBiTree[MAX_TREE_SIZE ];
//SqBiTree bt;
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
Status InitStack(SqStack &S)
{
=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));
if(!)exit(OVERFLOW);
=;
=STACK_INIT_SIZE;
return OK;
}
Status GetTop(SqStack S,SElemType &e)
{
if(==) return ERROR;
e=*(-1);
return OK;
}
Status Push(SqStack &S,SElemType e)
{
if(->=)
{
=(SElemType *)realloc(,(+STACKINCREMENT)*sizeof(SElemType));
if(!)exit(OVERFLOW);
=+;
+=STACKINCREMENT;
}
*++=e;
return OK;
}
Status Pop(SqStack &S,SElemType &e)
{
if(==)return ERROR;
e=*--;
return OK;
}
Status StackEmpty(SqStack S)
{
if(==)return TRUE;
else return FALSE;
}
Status CreateBiTree(BiTree &T)
{
//按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树,
//构造二叉链表表示的二叉树T。
char ch;
scanf("%c",&ch);
if(ch=='@')T=NULL;
else
{
if(!(T=(BiTNode*)malloc(sizeof(BiTNode))))exit(OVERFLOW);
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
return OK;
}//CreateBiTree
Status PreoderTraverse(BiTree T)
{//二叉树先序遍历非递归算法
SqStack S;BiTree p;
InitStack(S); p=T;
while(p||!StackEmpty(S))
{
if(p)
{
printf("%c\t",p->data);p=p->lchild;
Push(S,p->rchild);
}
else Pop(S,p);

最近更新

2025年新课标二卷2025“抵达未知之境”主题作.. 15页

无人机配送物流服务居间合同 2页

罗兰贝格宇通客车人力资源管理体系诊断报告培.. 118页

医疗健康行业中的增量学习系统应用案例分析 24页

智慧城市建设承包招商合同 4页

智慧社区安保服务外包采购协议 2页

新型环保材料在能源领域的应用前景展望 28页

智能办公楼租赁服务合同样本 3页

智能化家居安装工程施工安全协议书 3页

智能家居代运营服务合同范本 3页

智能社区单位物业托管与增值服务合同 3页

值得学习的优秀员工性格 2页

兰草阅读答案 4页

服装贴牌定制与品牌授权及售后服务合同 3页

内蒙古自治区呼和浩特市王桂窑中学2020-2021学.. 5页

人工智能在医疗影像诊断中的应用前景报告 32页

内蒙古自治区赤峰市大板第二中学高二化学上学.. 4页

内蒙古自治区赤峰市林西县兴隆庄中学2020年高.. 5页

内蒙古自治区赤峰市翁牛特旗白音套海中学高三.. 11页

企业信息化建设的实施策略研究 49页

减肥最好最快的方法 2页

初三毕业典礼讲话稿两篇 4页

初中语文乡愁的说课稿 4页

割舍的近义词 2页

湖南省事业单位招聘面试真题及答案31套 5页

JG-T302-2011:卷帘门窗 24页

淀粉样变学习ppt课件 27页

申请公租房收入证明 16页

村党支部书记、村委会主任职责,风险点及防控.. 10页

主奴合约 3页