已知某二叉树的前序序列及中序序列.要求输出其后序序列,试写出程序.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/25 18:27:34
已知某二叉树的前序序列及中序序列.要求输出其后序序列,试写出程序.

已知某二叉树的前序序列及中序序列.要求输出其后序序列,试写出程序.
已知某二叉树的前序序列及中序序列.要求输出其后序序列,试写出程序.

已知某二叉树的前序序列及中序序列.要求输出其后序序列,试写出程序.
输入树的节点,输入0结束
1 2 3 4 5 6 7 8 9 0
中序打印
1->2->3->4->5->6->7->8->9->
后序打印
9->8->7->6->5->4->3->2->1->
前序打印
1->2->3->4->5->6->7->8->9->
//////////////////////////////////////////////////////////////////////////////////////////
#include<stdlib.h>
#include<stdio.h>
typedef struct tree
{
struct tree *left;
int date;
struct tree *right;
}treenode,*b_tree;
///////按顺序插入节点/////////////////////
b_tree insert(b_tree root,int node)
{
b_tree newnode;
b_tree currentnode;
b_tree parentnode;
newnode=(b_tree)malloc(sizeof(treenode));
newnode->date=node;
newnode->right=NULL;
newnode->left=NULL;
if(root==NULL)
return newnode;
else
{
currentnode=root;
while(currentnode!=NULL)
{
parentnode=currentnode;
if(currentnode->date>node)
currentnode=currentnode->left;
else
currentnode=currentnode->right;
}
if(parentnode->date>node)
parentnode->left=newnode;
else
parentnode->right=newnode;
}
return root;
}
//////建立树///////////////////
b_tree creat(int *date,int len)
{
b_tree root=NULL;
int i;
for(i=0;i<len;i++)
root=insert(root,date[i]);
return root;
}
//////中序打印////////////////
void print1(b_tree root)
{if(root!=NULL)
{
print1(root->left);
printf("%d->",root->date);
print1(root->right);
}
}
//////后序打印////////////////
void print2(b_tree root)
{if(root!=NULL)
{
print2(root->left);
print2(root->right);
printf("%d->",root->date);
}
}
//////前序打印////////////////
void print3(b_tree root)
{if(root!=NULL)
{ printf("%d->",root->date);
print3(root->left);
print3(root->right);
}
}
///////测试函数//////////////////
void main()
{
b_tree root=NULL;
int i,index;
int value;
int nodelist[20];
printf("输入树的节点,输入0结束\n");
index=0;
scanf("%d",value);
while(value!=0)
{
nodelist[index]=value;
index=index+1;
scanf("%d",value);
}
root=creat(nodelist,index);
printf("\n中序打印\n");
print1(root);
printf("\n后序打印\n");
print2(root);
printf("\n前序打印\n");
print3(root);}

已知某二叉树的前序序列及中序序列.要求输出其后序序列,试写出程序. 写出下列二叉树的前序序列、中序序列和后序序列. 已知一棵二叉树的前序序列和中序序列分别是ABCDEFGHIJ和BAEDCHGIFJ,构造二叉树,并写出其后序序列 由一个二叉树的中序序列和后序序列如何推出它的前序序列?已知中序序列是EDCBAHFG,后序序列是DBCEFGHA,求前序序列 一棵二叉树前序和中序序列,求该二叉树的后序序列.前序序列:ABCDEFGHIJ 后序序列:CBAEFDIHJG 前序序列和中序序列相同的二叉树为__________. 已知一棵二叉树的中序序列和后序序列,请画出该二叉树 中序序列 DIGJLKBAECHF 后序序列 ILKJGDBEHFCA 已知一颗二叉树的先序序列与中序序列,请画出此二叉树:先序序列:ABCDEFGHIJ;中序序列:CBEDAGHFJI 已知二叉树的后序遍历序列和中序遍历序列,怎样求其前序遍历序列!举个例子, 已知先序序列:ABCDEFGH,中序序列:CDBAFEHG,画出的二叉树是怎样的? 某二叉树的前序序列和后序序列正好相反,则该二叉树满足_________. 已知二叉树的先序序列.中序序列和后序序列分别如下,但其中有一些模糊不清.试构造该二叉树.先序序列_BC_E_GH中序序列C_DA_GHF后序序列_DB_ _FEA 某二叉树的前序列 1.已知一棵二叉树的前序和中序序列,画出该二叉树,并写出该二叉树的后序序列.前序序列:A,B,C,D,E,F,G,H,I,J中序序列:C,B,A,E,F,D,I,H,J,G2.已知二叉树中的结点类型BTreeNode定义为:struct BTreeNode{ElemT 已知二叉树的中序序列和后序序列均为ABCDEF,则该二叉树的先序序列为 二叉树的问题(2) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A) acbed B) decab C) deabc D) cedba 如何根据前序遍历序列和中序遍历序列确定二叉树 (53) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______.A.cedba B.acb