唯一地确定一棵二叉树
【问题描述】
如果给出了遍历二叉树的前序序列和中序序列,则可以构造出唯
一的一棵二叉树。试编写实现上述功能的程序。
【基本要求】
已知一棵二叉树的前序和中序序列,试设计完成下列任务的一个
算法:
(1)构造一棵二叉树;
(2)以凹入表形式输出二叉树。
(3)证明构造正确(即分别以前序和中序遍历该树,将得到的结
【问题描述】
如果给出了遍历二叉树的前序序列和中序序列,则可以构造出唯
一的一棵二叉树。试编写实现上述功能的程序。
【基本要求】
已知一棵二叉树的前序和中序序列,试设计完成下列任务的一个
算法:
(1)构造一棵二叉树;
(2)以凹入表形式输出二叉树。
(3)证明构造正确(即分别以前序和中序遍历该树,将得到的结
果与给出的序列进行比较)。
【测试数据】
前序序列为ABDEGCFHIJ,中序序列为DBGEAHFIJC。
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<string.h>
typedef struct Node
{
char data;
struct Node *leftChild;
struct Node *rightChild;
}BiTreeNode;
void Initiate(BiTreeNode **root)
{
*root=(BiTreeNode *)malloc(sizeof(BiTreeNode));
(*root)->leftChild=NULL;
(*root)->rightChild=NULL;
}
BiTreeNode *InsertLeftNode(BiTreeNode *curr,char x)
{