二叉树:由已知两种遍历求未知遍历
2017-02-08 20:22
204 查看
已知 前序和中序遍历 求后序遍历序列
已知中序和后序遍历 求前序遍历序列
struct node *creat(char *a, char *b, int n) { struct node *ptr; char *p; int count = 0; if (n <= 0) return NULL; ptr = (struct node *)malloc(sizeof(struct node)); ptr -> data = *a; for (p = &b[0]; p <= b + n - 1;p ++) { if (*p == *a) break; } count = p - b; ptr -> l = creat(a + 1, b, count); ptr -> r = creat(a + 1 + count, p + 1, n - 1 - count); return ptr; }
已知中序和后序遍历 求前序遍历序列
struct node *creat(char *a, char *b, int n) { struct node *ptr; if (n <= 0) return NULL; ptr = (struct node *)malloc(sizeof(struct node)); ptr -> data = b[n - 1]; int q = strchr(a, b[n - 1]) - a; ptr -> l = creat(a, b, q); ptr -> r = creat(a + q + 1, b + q, n - q - 1); return ptr; }
相关文章推荐
- 已知两种二叉树的遍历,求第三种
- 已知两种遍历序列求原始二叉树
- 剑指Offer算法题之已知两种遍历方式重建二叉树--面试题6:重建二叉树
- 二叉树面试题--已知二叉树的两种遍历序列,求出另一种遍历序列
- 二叉树 已知两种遍历恢复二叉树
- 已知二叉树的两种遍历序列重建树
- 二叉树面试题--已知二叉树的两种遍历序列,求出另一种遍历序列
- 二叉树的遍历(前序 中序 后序)和已知两种遍历顺序求另外一种遍历顺序(含实例)
- 已知二叉树的某两种遍历结果,输出另一种遍历的结果(附源码)
- 已知某二叉树的某两种遍历序列,求另一种遍历序列面试题解法总结(转)
- 数据结构与算法学习之二叉树的遍历:已知先序、中序、后序序列三者中的两种求另外一种遍历的算法
- 二叉树面试题--已知二叉树的两种遍历序列,求出另一种遍历序列
- 已知二叉树的两种遍历序列,求出另一种遍历序列
- 【郝斌数据结构自学笔记】70-74_已知两种遍历序列求原始二叉树概述_已知先序和中序求后序_已知中序和后序求先序_树的应用简单介绍
- 已知前序遍历序列和中序遍历序列,求二叉树的后序遍历
- 二叉树三种遍历方法(根据两种排序求第三种的顺序)
- 已知二叉树的前序/后序遍历和中序遍历,求后序/前序遍历
- 二叉树之已知前序和中序遍历求后序遍历(POJ &&HDU )
- 已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
- 创建二叉树的两种方法以及三种遍历方法