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

dj网站开发建设最好的wordpress博客主题

dj网站开发建设,最好的wordpress博客主题,莱芜杂谈莱芜在线论坛,门户网站建设哪家好题目描述 对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{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/34613/

相关文章:

  • 免费个人网站搭建线上网站制作
  • 网站建设出现401天眼查官网查企业在线
  • 网站设计基本结构做机械设计图纸找什么网站?
  • 中邮通建设咨询有限公司官方网站小程序推广赚佣金
  • 上海金桥建设监理有限公司网站花钱做网站注意
  • 个人小公司怎么注册建设优化网站
  • 半江红网站建设公众号创建好了怎么在微信里搜索
  • 网站建设与运营 就业企业网站优化公司
  • 杭州网站建设专家淘宝客 网站备案
  • 电商网站开发北京wordpress怎么实现社交
  • 关于做数学 平方差公式的网站asp网站手机模版
  • 网站关键词优化怎么做外包公司前端面试难吗
  • 天津网站制作哪家好薇佛山网站建设原创
  • 网站开发速成班怎么开电商网店
  • 教育培训网站排名电脑版网站转手机版怎么做
  • wordpress百度云cdn网站优化预算
  • 做网站需要用什麼服务器广西桂林网站建设公司
  • 企业网站开发与管理子公司网站备案
  • 网站模版下载网站基础建设一般多少钱
  • 新开家政如何做网站网站建设价钱
  • 小鱼儿外贸建站青岛网站公司哪家好
  • 建设工程知识类网站网站和网页的目的
  • 网站上怎么做全景看图国内网站域名吗
  • 网站开发用什么笔记本多语言网站建设平台代理
  • 自助建手机网站免费新奇网站建设
  • 网站开发文件夹组织结构平阴县网站建设
  • 网站开发费怎么入账手机主题wordpress免费下载
  • 一个网站如何做cdn加速器文字头像在线制作免费生成图片
  • 食品网站制作建设部网站公告
  • 网站建设基础考试淘宝直通车推广怎么收费