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

遥控器外壳设计网站推荐网站建设项目验收表

遥控器外壳设计网站推荐,网站建设项目验收表,网站的逻辑结构,做网站私活题目描述 对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否…

题目描述

对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。

输入描述

输入包含若干组测试数据。每组数据的第1行给出两个正整数N(n≤10)和L,分别是输入序列的元素个数和需要比较的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列生成一颗二叉排序树。随后L行,每行给出N个元素,属于L个需要检查的序列。
简单起见,我们保证每个插入序列都是1到N的一个排列。当读到N为0时,标志输入结束,这组数据不要处理。

输出描述

对每一组需要检查的序列,如果其生成的二叉排序树跟初始序列生成的二叉排序树一样,则输出"Yes",否则输出"No"。

样例

输入
4 2
3 1 4 2
3 4 1 2
3 2 4 1
2 1
2 1
1 2
0
输出
Yes
No
No


思路:因为二叉排序树的中序遍历都为一个升序序列,即中序遍历序列都相同,又因为一棵树可由中序遍历和前序遍历所确定,因此我们判断其前序遍历序列是否相同即可,若前序遍历序列相同,则树形相同。

建树过程

  • 先申请一个树根并初始化:
    Node *rx=new Node;
    rx = NULL;
  • 递归建树,若遇到空结点,则申请一个新节点,并对其属性初始化:
    root = new Node;
    root->id = val;

Code:

#include<bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 10;
struct Node {Node* left=NULL;Node* right=NULL;int id;
};
vector<int> p,q;
map<vector<int>,bool> mp;
Node* build(Node *root,int val) {if(root == NULL) {root = new Node;root->id = val;} else if(val>=root->id) root->right = build(root->right,val);else root->left = build(root->left,val);return root;
}
void work1(Node *root) {if(root == NULL) return;p.push_back(root->id);if(root->left) work1(root->left);if(root->right) work1(root->right);}
void work2(Node *root) {if(root==NULL) return;q.push_back(root->id);if(root->left) work2(root->left);if(root->right) work2(root->right);}
int main() {int n,l;while(cin >> n && n) {cin >> l;mp.clear();Node *rx=new Node;rx = NULL;int k;for(int i=0; i<n; i++) {cin >> k;rx = build(rx,k);}work1(rx);mp[p] = 1;while(l--) {Node *ry=new Node;ry = NULL;q.clear();for(int j=0; j<n; j++) {cin >> k;ry = build(ry,k);}work2(ry);mp[q]==1?puts("Yes"):puts("No");}}return 0;
}
http://www.yayakq.cn/news/542939/

相关文章:

  • wordpress 元数据天津seo排名收费
  • 网站备案密码格式php做二手商城网站源码
  • 一个网站建设流程图软件定制化
  • 甘肃省城乡建设局网站小程序开发费用一般多少钱
  • 成都建站推广万网建站
  • 1.1做网站的目的兰州网站制作公司服务电话
  • 淮安建设工程协会网站查询系统网站建设专家联系方式
  • 专门做岛屿的网站wordpress添加微信分享功能
  • 网站内容设计基本原则php做简单网站教程视频教程
  • 用自己电脑做网站站长工具百度
  • 网站首页模板代码品牌互动营销案例
  • 山东富国建设投资有限公司网站增加wordpress阅读量
  • 邢台网站建设要多少钱安阳企业建网站
  • 在百度上怎么搜到自己的网站网站建设部岗位职责
  • 网站建设和维护方案泰安中文网站建设电话
  • 深圳品牌网站设计电话博客搭建wordpress
  • 会计信息系统网站建设流程图做网站软件图标是一个箭头的
  • 视频网站dedecmsseo网站优化怎么做
  • 网站模版好建设吗如何制作网络游戏
  • 建什么网站赚钱做网站需要开放哪些端口
  • 网站建设类工作描述网站建设 微盘
  • 青海网站建设多少钱php网站开发零基础教程
  • 企业门户网站的设计与实现网站改版后的推广办法
  • 广告网站建设目标第一网站ppt模板
  • 如何知道网站有没有备案国外建站推广
  • 铁岭建设银行网站网站内容规划
  • 网站宣传册怎么做的优秀的响应式网站模板
  • 淘宝不允许 网站建设简单的做海报的网站
  • 网站开发没有完成 需要赔偿吗wordpress密码爆破
  • 怎么做卖东西的网站制作企业网站页面实训项目