python画二叉树turtle 某二叉树的中序遍历为CBADE,后序遍历序列为CBEDA,则前序遍历序列为?
某二叉树的中序遍历为CBADE,后序遍历序列为CBEDA,则前序遍历序列为?
中序遍历:访问根节点在左右子树之间,即左—根—右。后序遍历:访问根结点在左右子树之后,即左—右—根。 由定义可以知道: 1、后序遍历中最后一个就是树根结点,即A结点。 2、在中序遍历中,根结点左边的是左儿子集,右边的是右儿子集。所以二叉树应该为A/ B D/ C E 所以前序遍历为ABCDE
用C语言编程实现二叉树的中序遍历算法?
#include
#include
struct BiTNode *stack[100]
struct BiTNode//定义结构体
{
char data
struct BiTNode *lchild,*rchild
}
void later(struct BiTNode *&p) //前序创建树
{
char ch
scanf("%c",&ch)
if(ch==" ")
p=NULL
else
{
p=(struct BiTNode *)malloc(sizeof(struct BiTNode))
p->data=ch
later(p->lchild)
later(p->rchild)
}
}
void print(struct BiTNode *p) //前序遍历(输出二叉树)
{
int i=-1
while(1)
{
while(p!=NULL)
{
stack[ i]=p->rchild/*printf("ok?n")*/
printf("%c",p->data)
p=p->lchild
}
if(i!=-1)
{
p=stack[i]
i--
}
else
return
}
}
void main()//主函数
{
struct BiTNode *p,*t
later(p)
print(p)
}
python画二叉树turtle 二叉树层次遍历c语言 二叉树层序遍历python
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。