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

建设银行网站字体网站开发必学书籍

建设银行网站字体,网站开发必学书籍,照片素材库网站免费,中小型网站建设解题反思 //镜像树满足:左子树>根节点>右子树 //特殊:独腿二叉树,如pre {2,3,4},递归函数用if(root tail) return;无法识别这种二叉树 // 用ismirror来将一般二叉树和镜像二叉搜索树的…

解题反思 

//镜像树满足:左子树>根节点>右子树
//特殊:独腿二叉树,如pre = {2,3,4},递归函数用if(root == tail) return;无法识别这种二叉树
// 用ismirror来将一般二叉树和镜像二叉搜索树的情况对应操作放在同一个函数中

L2-004 这是二叉搜索树吗? - 团体程序设计天梯赛-练习集

已知先序序列,得到后序序列:

一般已知一种序列不能唯一确定另一种序列,但结合二叉树的某些特殊性质可以

比如满二叉树,完全二叉树,二叉搜索树等

 递归函数检验逻辑:

是二叉搜索树 <=> 在先序遍历中找到第一个大于根节点的值,其将pre分成了左子树和右子树 

返回条件

      插入检验左子树和右子树中的所有元素是否都分别小于和大于根节点的值

      如果检验失败就直接跳过后面遍历return,这样post.size()!=N就反映出了检验失败的情况

后序遍历:

             递归左子树

             递归右子树

             存下当前的根节点的值进post,就得到了后序遍历序列

#include<bits/stdc++.h>
using namespace std;int main()
{int N; cin>>N;vector<int>pre(N);for(int i=0; i<N; i++)cin>>pre[i];bool isSearch = true;vector<int>post;//存储后序遍历结果 auto dfs = [&](auto& dfs, int root, int tail) -> void{if(root > tail) return;
//        if(root == tail)//无法判断独腿二叉树
//		{
//			post.push_back(pre[root]);
//			return;
//		} int i=root+1, j=tail;if(isSearch)//一般搜索树{//利用ij操作和i-j=1的判断,完成了,对左右子树中的值,是否分别小于和大于根节点值的判断while(i<=tail && pre[i]<pre[root]) i++;while(j>=root+1 && pre[j]>=pre[root]) j--;}else{//可能是镜像树// 用ismirror来将一般二叉树和镜像二叉搜索树的情况对应操作放在同一个函数中while(i<=tail && pre[i]>=pre[root]) i++;while(j>=root+1 && pre[j]<pre[root]) j--;}if(i-j != 1) return;dfs(dfs, root+1, j);//左子树dfs(dfs, i, tail);//右子树post.push_back(pre[root]);};dfs(dfs, 0, N-1);if(post.size()!=N){post.clear();isSearch = false;dfs(dfs, 0, N-1);}if(post.size() == N){cout<<"YES"<<endl;for(int i=0; i<post.size(); i++){cout<<post[i];if(i == post.size()-1) cout<<endl;else cout<<" ";}}else{cout<<"NO"<<endl;}return 0;
}

http://www.dtcms.com/a/483959.html

相关文章:

  • 济南seo优化公司助力网站腾飞推广平台排行榜有哪些
  • OWL 的 t-* 与 Vue3 的 v-* 全面对比
  • C#项目连接S7-PLCSIM Advanced读写操作
  • Linux中的wheel介绍以及用法
  • 统计期刊介绍——Journal of Statistical Planning and Inference(JSPI)
  • 网站后台 刷新做网站完整过程
  • 泰州企业模板建站北京广告网站建设
  • MySQL8数据库高级特性-第二章
  • 【Python基础】Python路径操作全解析:os.path、glob与pathlib从入门到精通
  • 男人女人做羞羞事网站如皋网站建设招标
  • 在线相册jsp网站开发与设计徐州泰安抖音代运营
  • 网站seo优化步骤给我一个用c 做的网站
  • 重庆建设造价信息网站深圳带停机坪的别墅
  • 2026计算机毕设选题推荐:基于SpringBoot和Vue的电动车租赁平台系统(附源码和数据库)
  • 建湖做网站需要多少钱wordpress缓存图片
  • 济宁网站建设 中企动力临沂wordpress阻止访问
  • 南京建设网站要多少钱手机网站需要域名吗
  • 基于成功率的自适应差分进化 L-SRTDE 用于 CEC 2024 竞赛
  • 企业 办公 网站模板下载企业网站制作步骤
  • 网站建设大致分哪几块天津网站开发公司
  • 怎样查网站备案人的联系方式网站开发自学时间
  • 网站系统平台建设个人网站主页
  • 基于springboot的民谣网站的设计与实现
  • Linux系统新建用户登录只显示$简陋提示符 ,不显示用户名、主机名字、当前目录...
  • 阿里云网站托管公司软件网站建设
  • 安装网站时出现dir网站的常用技术有哪些
  • 十字链表的构建和操作
  • 中山做网站的公司哪家好佛山100强企业名单
  • 广州网站建设+美词有哪些网站做的好处
  • 网站查询功能怎么做php网页设计完整代码