1 / 15
文档名称:

二叉树各种算法.doc

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

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

分享

预览

二叉树各种算法.doc

上传人:春天资料屋 2022/4/18 文件大小:63 KB

下载得到文件列表

二叉树各种算法.doc

相关文档

文档介绍

文档介绍:二叉树的各种算法
二叉树的各种算法
1/15
二叉树的各种算法
,很少有
真的。你嗜烟成性的时候,只有三种人会高兴,医生你的仇
人和卖香烟的。/*用函
StatusPrintElement(ElemTypee){//输出元素e的值
printf("%d",e);
returnOK;
}//PrintElement
StatusPreOrderTraverse(BiTreeT,Status(*Visit)(ElemType)){
//前序遍历二叉树T的递归算法,对每个数据元素调用函数Visit。
补全代码,可用多个语句
if(T)
{
if(Visit(T->data))
if(PreOrderTraverse(T->lchild,Visit))
if(PreOrderTraverse(T->rchild,Visit))returnOK;
returnERROR;
二叉树的各种算法
二叉树的各种算法
7/15
二叉树的各种算法
4/15
二叉树的各种算法
二叉树的各种算法
15/15
二叉树的各种算法
}
elsereturnOK;
}//PreOrderTraverse
StatusInOrderTraverse(BiTreeT,Status(*Visit)(ElemType))
{
//中序遍历二叉树T的递归算法,对每个数据元素调用函数Visit。
补全代码,可用多个语句
if(T)
{
if(InOrderTraverse(T->lchild,Visit))
if(Visit(T->data))
if(InOrderTraverse(T->rchild,Visit))
returnOK;
returnERROR;
}
elsereturnOK;
}//InOrderTraverse
StatusPostOrderTraverse(BiTreeT,Status(*Visit)(ElemType)){
//后序遍历二叉树T的递归算法,对每个数据元素调用函数Visit。
补全代码,可用多个语句
if(T)
二叉树的各种算法
二叉树的各种算法
9/15
二叉树的各种算法
5/15
二叉树的各种算法
二叉树的各种算法
15/15
二叉树的各种算法
{
if(PostOrderTraverse(T->lchild,Visit))
if(PostOrderTraverse(T->rchild,Visit))
if(Visit(T->data))returnOK;
returnERROR;
}
elsereturnOK;
}//PostOrderTraverse
StatusPutout(BiTreeT)
{
PreOrderTraverse(T,PrintElement);
printf("\n");
InOrderTraverse(T,PrintElement);
printf("\n");
PostOrderTraverse(T,PrintElement);
printf("\n");
returnOK;
}
//·非递归算法
structSqStack
{
二叉树的各种算法
二叉树的各种算法
11/15
二叉树的各种算法
6/15
二叉树的各种算法
二叉树的各种算法
15/15
二叉树的各种算法
BiTree*base;//在栈构造之前和销毁之后,base的值为NULL
BiTree*top;//栈顶指针
intstacksize;//当前已分配的存储空间,以元素为单位
};//顺序栈
StatusInitStack(SqStack&S)
{
=(BiTree*)malloc(STACK_INIT_SIZE*sizeof(BiTree));