由 先序遍历序列和中序遍历序列 求出 后序遍历的序列
来源:互联网 发布:淘宝上开店 编辑:程序博客网 时间:2024/05/21 10:22
题目描述:
a[n]:已知的先序遍历的序列,
b[n]:一直的后序遍历的序列
c[n]:未知的后序遍历的序列
采用递归算法
void analyse(int a[],int a1,int a2,int b[],int b1,int b2,int c[],int c1,int c2)
if(a1>a2)return;
c[c2]=a[a1];
if(a1!=a2)
{
int i=b1;
while(b[i]!=a[a1])++i;
analyse(a,a1+1,a1+i-b1,b,b1,i-1,c,c1,c1+i-1-b1);
analyse(a,a1+i-b1+1,a2,b,i+1,b2,c,c1+i-b1,c2-1);
}
}
测试程序:
int main(void)
{
int a[8]={1,2,4,6,3,5,7,8},b[8]={4,6,2,1,7,5,8,3};
int c[8]={-1};
analyse(a,0,7,b,0,7,c,0,7);
for(int i=0;i<8;++i)
printf("%d\t",c[i]);
getchar();
return 0;
}
- 由 先序遍历序列和中序遍历序列 求出 后序遍历的序列
- 由二叉树的前序遍历序列和中序遍历序列求后序遍历序列
- 已知二叉树的先序遍历和中序遍历序列,输出后序遍历序列
- 由先序+后序遍历确定序列是否唯一并输出一个中序序列
- 由中序遍历序列和后序遍历序列构造二叉树(递归实现)
- 先序遍历、中序遍历、后序遍历序列的详解
- 已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
- 已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
- 二叉树:根据二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
- 根据后序遍历序列和中序遍历序列求前序遍历序列
- 给定二叉树的先序遍历和中序遍历,输出它的后序遍历序列
- 后序遍历序列
- 二叉树系列(一):已知先序遍历序列和中序遍历序列,求后序遍历序列
- 已知二叉树的先序、中序遍历序列,求其后序遍历结果。(hduoj1710)
- 已知中序遍历序列和后序遍历序列,求先序遍历
- 根据先序遍历序列和中序遍历序列重建二叉树
- 根据二叉树前序遍历和中序遍历序列求解后序遍历的算法
- 由前序遍历序列和中序遍历序列重建二叉树
- 安全使用assert()函数
- Chapter 3 Stacks and Queues - 3.1
- Spring 3 框架junit4测试时因缺少依赖的jar报错
- POJ 1700 3404 Crossing River
- 九度1011 最大连续子序列
- 由 先序遍历序列和中序遍历序列 求出 后序遍历的序列
- 如何看待阅读?
- Mysql数据类型简明说明
- 不经意间犯的错_临时对象
- 和菜鸟一起学OK6410之最简单字符驱动
- 7.面板上的第一个标签
- mfc笔记-俄罗斯方块
- 2012年十大手机设计趋势
- Ubuntu 系统优化