(先序遍历 后序遍历 中序遍历)三选二构造树
来源:互联网 发布:淘宝宝贝上下架时间 编辑:程序博客网 时间:2024/06/18 02:05
一.
先序遍历+中序遍历 以后序输出。
//由先序序列定义,此序列的第一个结点一定是二叉树的根。在中序序列里,此根结点左边的结点都是左子树的结点,而右边的结点都是右子树的结点。这样通过根结点,在中序序列中可以分离出:左子树的序列和右子树的序列。根据这两个序列,在先序序列中可以找到对应的左子序列和右子序列。在先序序列里左子序列的第一个结点是左子树的根,右子序列的第一个结点是右子树的根,这样就确定了二叉树的三个结点。同时,左右子树的根结点又可以分别把左右子序列划分成两个子序列。如此递归,当取尽先序序列中的结点时,就生成了一棵二叉树。#include <stdio.h>#include <stdlib.h>#include <string.h>struct Node {union{char chData;int iData;}Data;Node *pLeft;Node *pRight;};Node* create(char *pPre, char *pIn, int iPre, int iInBegin, int iInEnd){static int temp = iPre;if (iInBegin >= iInEnd){return NULL;}Node* root = new Node;if (!root){exit(1);}root->Data.chData = pPre[iPre];root->pLeft = NULL;root->pRight = NULL;int i;for (i = iInBegin; i < iInEnd; i++){if (pIn[i] == pPre[iPre]) //在中序序列中找到根节点的值{break;}}temp++;root->pLeft = create(pPre, pIn, temp, iInBegin, i); //创建左子树root->pRight = create(pPre, pIn, temp, i+1, iInEnd); //右子树return root;}void postorder(Node* root){if(root->pLeft)postorder(root->pLeft);if(root->pRight)postorder(root->pRight);printf("%c",root->Data.chData);}int main(){char pPre[10]="DBACEGF",pIn[10]="ABCDEFG";int len;Node* root;len=strlen(pPre);root=create(pPre,pIn,0,0,len);postorder(root);return 0;}
- (先序遍历 后序遍历 中序遍历)三选二构造树
- 二叉树3(构造二叉树、先序遍历、中序遍历、后序遍历)
- 二叉树的遍历(1)--先序遍历,中序遍历,后序遍历
- 二叉树的遍历代码(先序遍历,中序遍历,后序遍历)
- 树遍历方式总结:层次遍历、先序遍历、中序遍历、后序遍历
- 先序遍历 中序遍历 后序遍历
- 二叉树重建 - (先序遍历、中序遍历、后序遍历)
- 创建一个二叉树(先序遍历、中序遍历、后序遍历)
- 二叉树T 的先序遍历、中序遍历、后序遍历(递归实现)
- 先序遍历、中序遍历、后序遍历(二叉树)
- 二叉树的先序遍历,后序遍历,中序遍历,层次遍历
- 二叉树 非递归 先序遍历 中序遍历 后序遍历 层次遍历
- 递归法遍历二叉树 (先序遍历 中序遍历 后序遍历)
- 树的遍历—先序遍历、中序遍历、后序遍历
- 二叉树-建树,层次遍历,先序遍历,中序遍历,后序遍历
- hihocoder #1049 : 后序遍历 (已知先序遍历和中序遍历求后序遍历)
- 二叉树的遍历(2)--先序遍历,中序遍历,后序遍历(非递归)
- 算法学习 - 树的三种遍历(递归实现)先序遍历,中序遍历,后序遍历
- 指定周几,几点对某文件进行删除
- linux进程间通信
- spring事务
- 警告NameVirtualHost *:80 has no VirtualHosts的原因
- 【OpenCV入门指南】第四篇 图像的二值化
- (先序遍历 后序遍历 中序遍历)三选二构造树
- 学会总结,学会关注细节,学会拥有一颗平静的心。
- Python 学习日记(1)-python 环境搭建
- 【OpenCV入门指南】第三篇Canny边缘检测
- Java中堆内存与栈内存浅析
- 流导出excel有时候汉字会出现兼容性问题
- eclipse中java项目转成Web项目
- 中文标点符号unicode码
- 使用IE10和CSS Device Adaptation