当前位置: 首页 > wzjs >正文

商机互联做网站怎么样免费网络推广软件

商机互联做网站怎么样,免费网络推广软件,东莞专业做淘宝网站建设,电脑技术学习网站题目描述 小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。 输入 输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由…
题目描述

小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。

输入

输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的大写字母组成。

输出

对于每组输入,输出对应的二叉树的后续遍历结果。

样例输入
DBACEGF ABCDEFG
BCAD CBAD
样例输出
ACBFGED
CDAB

分析:不建树直接找的方法。

#include<algorithm>
#include <iostream>
#include  <cstdlib>
#include  <cstring>
#include   <string>
#include   <vector>
#include   <cstdio>
#include    <queue>
#include    <stack>
#include    <ctime>
#include    <cmath>
#include      <map>
#include      <set>
#define ll long long
#define INF 0x3f3f3f3f
#define db1(x) cout<<#x<<"="<<(x)<<endl
#define db2(x,y) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<endl
#define db3(x,y,z) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<endl
#define db4(x,y,z,a) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<", "<<#a<<"="<<(a)<<endl
using namespace std;char preorder[1100],midorder[1100],lastorder[1100];void getlastorder(char pre[],char mid[],int n)
{int t;if(n<=0)return;for(t=0;t<n;++t)if(mid[t]==pre[0])break;getlastorder(pre+1,mid,t);getlastorder(pre+t+1,mid+t+1,n-t-1);printf("%c",pre[0]);
}int main(void)
{#ifdef testfreopen("in.txt","r",stdin);
//    freopen("in.txt","w",stdout);clock_t start=clock();#endif //testwhile(~scanf("%s%s",preorder,midorder)){getlastorder(preorder,midorder,strlen(preorder));printf("\n");}#ifdef testclockid_t end=clock();double endtime=(double)(end-start)/CLOCKS_PER_SEC;printf("\n\n\n\n\n");cout<<"Total time:"<<endtime<<"s"<<endl;        //s为单位cout<<"Total time:"<<endtime*1000<<"ms"<<endl;    //ms为单位#endif //testreturn 0;
}

建树再后序遍历的方法:由于前序遍历是先遍历根节点,因此前序遍历的第一个点一定是根节点。再到中序遍历中找到根节点的位置,这之前都是左子树,这之后都是右子树。知道左右子树长度之后,就可以在前序遍历中找到左右子树。这样递归地建立二叉树,最后输出后序遍历结果。

#include    <algorithm>
#include     <iostream>
#include      <cstdlib>
#include      <cstring>
#include       <string>
#include       <vector>
#include       <cstdio>
#include        <queue>
#include        <stack>
#include        <ctime>
#include        <cmath>
#include          <map>
#include          <set>
#include<unordered_map>
#define INF 0x3f3f3f3f
#define db1(x) cout<<#x<<"="<<(x)<<endl
#define db2(x,y) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<endl
#define db3(x,y,z) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<endl
#define db4(x,y,z,a) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<", "<<#a<<"="<<(a)<<endl
#define db5(x,y,z,a,r) cout<<#x<<"="<<(x)<<", "<<#y<<"="<<(y)<<", "<<#z<<"="<<(z)<<", "<<#a<<"="<<(a)<<", "<<#r<<"="<<(r)<<endl
using namespace std;typedef struct node
{char val;struct node *left,*right;
}node;void Free(node *root)
{if(root->left!=NULL)Free(root->left);if(root->right!=NULL)Free(root->right);free(root);return;
}node *get_tree(char *pre,int pre_l,int pre_r,char *mid,int mid_l,int mid_r)
{if(pre_l>=pre_r)return NULL;node *p=(node *)malloc(sizeof(node));p->val=pre[pre_l];int index=0;for(index=mid_l;index<mid_r;++index)if(mid[index]==pre[pre_l])break;p->left=get_tree(pre,pre_l+1,pre_l+1+index-mid_l,mid,mid_l,index);p->right=get_tree(pre,pre_l+1+index-mid_l,pre_r,mid,index+1,mid_r);return p;
}void last_order(node *root)
{if(root==NULL)return;last_order(root->left);last_order(root->right);printf("%c",root->val);return;
}int main(void)
{#ifdef testfreopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);clock_t start=clock();#endif //testchar pre[100000],mid[100000];while(~scanf("%s%s",pre,mid)){int len=strlen(pre);node *root=get_tree(pre,0,len,mid,0,len);last_order(root);printf("\n");Free(root);}#ifdef testclockid_t end=clock();double endtime=(double)(end-start)/CLOCKS_PER_SEC;printf("\n\n\n\n\n");cout<<"Total time:"<<endtime<<"s"<<endl;        //s为单位cout<<"Total time:"<<endtime*1000<<"ms"<<endl;    //ms为单位#endif //testreturn 0;
}

http://www.dtcms.com/wzjs/246472.html

相关文章:

  • 网站链接视频怎么做西安网站搭建公司
  • 洛阳网站建设内容富阳seo关键词优化
  • 湖南郴州市旅游景点阳西网站seo
  • 加工平台苏州纳米所福州网seo
  • 专业做室内设计的网站有哪些方面百度账号怎么注册
  • 秦皇岛海港区疫情最新消息百度seo优化系统
  • 菏泽网站建设推广河北电子商务seo
  • 重庆网站运营公司软文发稿
  • 客户端建站微信投放广告多少钱
  • 网站到底怎么做出来的seo是什么职务
  • centos和wordpressseo发帖工具
  • 中国建筑企业500强排名seo优化是什么
  • 免费建站的方法流程如何开网站详细步骤
  • 临沂网站建设对实体企业如何写软文赚钱
  • 泰安网站建设报价百度竞价托管靠谱吗
  • 网站建设合同范本下载苏州搜索引擎优化
  • 免费建站免费使用的网站aso推广公司
  • 学生网站建设的总结与评价营销战略包括哪些方面
  • 在社保网站做调动营销推广内容
  • 动态网站演示网络舆情监控系统
  • 杭州画册设计公司网站关键词优化办法
  • 呼市网站设计公司春哥seo博客
  • 郑州的电子商城网站建设唯尚广告联盟
  • 郑州网站建设公司价格深圳最新政策消息
  • 网站个人主页全网营销整合推广
  • 快递网站建设需求分析百度知道首页官网
  • 佛山外贸网站推广seo排名优化的方法
  • 宿州网站建设多少钱如何提高关键词搜索排名
  • 凡科网免费做网站合肥百度推广公司哪家好
  • jqueryui做的网站如何创建网站教程