由中序遍历序列和后序遍历序列构造二叉树(递归实现)
来源:互联网 发布:巴与蜀 知乎 编辑:程序博客网 时间:2024/04/30 08:34
#include <stdio.h>#include <string.h>typedef struct bitree_node{ char data; struct bitree_node * lchild, * rchild;}bitree_node, *binary_tree;int locate_data( char arr[], int left, int right, char key ){ int i; for( i = left; i <= right; ++i ) { if( arr[i] == key ) break; } return i;}void create_bitree_from_post_in_order( char post_order[], // postorder traversal sequence char in_order[], // inorder traversal sequence int left, // start index in inorder sequence int right, // end index in inorder sequence int pos, // index of root in postorder sequence binary_tree * root ){ int idx; bitree_node * p = ( bitree_node * )malloc( sizeof( bitree_node ) ); p->data = post_order[pos]; idx = locate_data( in_order, left, right, p->data ); // create left subtree recursively create_bitree_from_post_in_order( post_order, in_order, left, idx - 1, pos - 1 - ( right - idx ), &p->lchild ); // create right subtree recursively create_bitree_from_post_in_order( post_order, in_order, idx + 1, right, pos - 1, &p->rchild ); *root = p;}int main(){ char post_order[] = "cbfhgeda"; char in_order[] = "cbafehgd"; create_bitree_from_post_in_order( post_order, in_order, 0, 8, 8 ); return 0;}
- 由中序遍历序列和后序遍历序列构造二叉树(递归实现)
- 通过二叉树的中序和后序遍历序列构造二叉树(非递归)
- 由二叉树的前序遍历序列和中序遍历序列求后序遍历序列
- 二叉树系列(二):已知中序遍历序列和后序遍历序列,求先序遍历序列
- 由 先序遍历序列和中序遍历序列 求出 后序遍历的序列
- 由前序遍历序列和中序遍历序列重建二叉树
- 由中序遍历序列和后续遍历序列恢复二叉树
- 根据中序和层次遍历序列,构造二叉树
- 根据前序遍历序列和中序遍历序列构造二叉树
- 根据前序遍历序列和中序遍历序列构造二叉树算法
- 前序遍历序列和中序遍历序列构造二叉树算法
- 根据前序遍历序列和中序遍历序列构造二叉树算法
- 根据前序遍历序列和中序遍历序列构造二叉树
- 根据前序遍历序列和中序遍历序列构造二叉树算法
- 由先序序列/后序序列和中序序列构造二叉树
- 由遍历序列构造二叉树
- 由遍历序列构造二叉树
- 由遍历序列构造二叉树
- 预渲染技术
- 光照贴图(Lightmapping)与辐照度(Radiosity)
- 匈牙利命名法
- 历代显卡精彩演示DEMO赏析点评之NV篇
- 基于 Shadow Map 的投影渲染注意事项
- 由中序遍历序列和后序遍历序列构造二叉树(递归实现)
- Vaadin Web应用开发教程(13):UI组件-RichTextArea
- Flash 3D引擎全集
- Android ApiDemos示例解析(111):Views->Data Widgets->2. Inline
- 剖析网页游戏前景 三大趋势或助其健康发展
- 最强神作!Crysis深度剖析与优化指南
- Half Life 2 Source 引擎介绍
- 辐射度法线贴图和延期着色能不能同时使用
- 堆排序算法(C & Java 实现)