第六章:数据结构基础。第三部分
2015-01-05 13:01
337 查看
6.3.3 二叉树的重建:
问题描述:
已知二叉树的中序与前序或者后序序列,求其后序或者前序序列。
代码:
问题描述:
已知二叉树的中序与前序或者后序序列,求其后序或者前序序列。
代码:
#include <stdio.h> #include <string.h> #define N 1000 //使用递归的方式; char s ,s1 ,s2 ; void build1(int n,char s1[],char s2[],char s[]) { // 先序+中序,求后序 if(n<=0) return ; int p=strchr(s2,s1[0])-s2;//s1[0]为根结点,找出其在s2中的位置。 build1(p,s1+1,s2,s);//s2中的前p个再建立,这时的根结点为s1[1],故为了重用,令s1++; build1(n-p-1,s1+p+1,s2+p+1,s+p); s[n-1]=s1[0]; } void build2(int n,char s1[],char s2[],char s[]) { // 后序+中序,求先序 } int main() { while(scanf("%s%s",s1,s2)!=EOF) { int len=strlen(s1); build1(len,s1,s2,s); // 先序+中序,求后序 /*build2(len,s1,s2,s);*/ // 后序+中序,求先序 s[len]='\0'; printf("%s\n",s); } return 0; }
相关文章推荐
- 第六章:数据结构基础。第三部分
- 第六章:数据结构基础。第四部分
- 第六章:数据结构基础。第二部分
- 第六章:数据结构基础。第二部分
- 第六章:数据结构基础。第四部分
- 算法竞赛入门经典:第六章 数据结构基础 6.13拓扑排序
- 算法:C语言实现 (第1-4部分)基础知识、数据结构……
- 算法竞赛入门经典:第六章 数据结构基础 6.3移动小球
- 算法竞赛入门经典:第六章 数据结构基础 6.10黑白图像
- 算法竞赛入门经典 第六章 数据结构基础
- 算法竞赛入门经典:第六章 数据结构基础 6.5小球下落
- 算法竞赛入门经典(第二版)-刘汝佳-第六章 数据结构基础 习题(12/14)
- Mini-Notes: 数据结构与算法-[第三部分]排序
- 算法竞赛入门经典:第六章 数据结构基础 6.1卡片游戏
- 第六章:数据结构基础。第一部分
- 算法竞赛入门经典:第六章 数据结构基础 6.11迷宫
- 算法竞赛入门经典:第六章 数据结构基础 6.9 根据二叉树的后序和中序确定前序序列
- C#基础系列(8)-- 第三部分 面向对象相关 -- 类与结构(1)
- uva 536 - Tree Recovery 入门经典II 第六章 数据结构基础 习题6-3
- 算法竞赛入门经典:第六章 数据结构基础 6.14欧拉回路