二叉树(ACM版)
【数据结构1-2】二叉树 - 题单 - 洛谷
【数据结构】day2-树_J娇娇_的博客-CSDN博客
上学时的作业
P1827 [USACO3.4] 美国血统 American Heritage
二叉树特点写法(非二叉树)
截取字符串写法
#include<string>
#include<cstring>
#include<iostream>
#include<cstdio>
using namespace std;
string pre,in;
void work(string pre,string inor)
{if(pre.empty())return;char root=pre[0];int k=inor.find(root);pre.erase(pre.begin());string leftpre=pre.substr(0,k);//从0开始切割k个 0 - k-1string rightpre=pre.substr(k);//k到最后 string leftinor=inor.substr(0,k);string rightinor=inor.substr(k+1);work(leftpre,leftinor);work(rightpre,rightinor);printf("%c",root);//因为要输出后序序列,所以是左右根
}
int main()
{cin>>in>>pre;work(pre,in);putchar('\n');return 0;
}
位置标记写法
//一定要看清题目中为先中序,再是前序
#include <bits/stdc++.h> //万能头文件
using namespace std;
string a,b; //把中前遍历当做字符串输入
void houxu(int x,int y,int p,int q) { //x~y为前序遍历 p~q为中序遍历if(x>y||p>q) return ;//规定边界条件else {int i=b.find(a[x]); //利用根左右的特性来在中序队列中查找houxu(x+1,x+i-p,p,i-1); //递归左子树houxu(x+i-p+1,y,i+1,q); //递归右子树cout<<a[x];
}
}
int main() {cin>>b>>a;//反一下输入int l=a.length()-1;//因为是0开始,所以要减一houxu(0,l,0,l);//递归return 0;
}
二叉树写法
#include<bits/stdc++.h>
using namespace std;
typedef struct tree
{char ch;struct tree *Lchild;struct tree *Rchild;
}Nodetree,*Betree;
void CreateTree(Betree *r,char Pre[],char In[],int prel,int prer,int il,int ir)//中序数组+后序数组递归创建二叉链表
{if(il>ir)*r=NULL;else{*r=new Nodetree;(*r)->ch=Pre[prel];int mid=il;while(In[mid]!=Pre[prel])//定位mid{mid++;}CreateTree(&((*r)->Lchild),Pre,In,prel+1,prel+mid-il,il,mid-1);CreateTree(&((*r)->Rchild),Pre,In,prel+mid-il+1,prer,mid+1,ir);}
}
void print(Betree r)
{if(r==NULL)return;else{print(r->Lchild);print(r->Rchild);cout<<r->ch;}
}
int main()
{char Pre[10010],In[10010];cin>>In>>Pre;Betree r;r=new Nodetree;CreateTree(&r,Pre,In,0,strlen(Pre)-1,0,strlen(In)-1);print(r);
}
前序+中序->后序
CreateTree(&((*r)->Lchild),Pre,In,prel+1,prel+mid-il,il,mid-1);CreateTree(&((*r)->Rchild),Pre,In,prel+mid-il+1,prer,mid+1,ir);
中序+后序->前序
CreateTree(&((*r)->Lchild),Last,In,LastL,LastL+mid-il-1,il,mid-1);
CreateTree(&((*r)->Rchild),Last,In,LastL+mid-il,LastR-1,mid+1,ir);
P1305 新二叉树
#include<iostream>
#include<string>
#include<cstring>//不加会CE
using namespace std;
int n;
string s;
int main()
{cin>>n;cin>>s;for(int i=2;i<=n;++i)//由于第一个为原串,所以单独输入{string ss;cin>>ss;int x=s.find(ss[0]);//找到这个子树的根节点在原串中的位置s.erase(x,1);//清除根节点s.insert(x,ss);//加入子树}for(int i=0;i<s.size();++i)if(s[i]!='*') cout<<s[i];//不输出空节点else continue;
}
#include<iostream>
using namespace std;
struct programmer
{char lc;char rc;
}lt[130];//数组,这个十分重要,一会儿输入字符的时候还要用这个串起来
//其实真正起作用的只有lt[73]~lt[122],说这个是为了防止一些人不多想,方便理解的
char h,h1;//储存一会儿要输入的节点,多定义一个h1是为了一会儿将根节点保留下来先代入函数
void sm(char x)
{if(x=='*') return;cout<<x;sm(lt[x].lc);sm(lt[x].rc);
}
int main()
{int n;cin>>n;cin>>h1;//根 cin>>lt[h1].lc;//左 cin>>lt[h1].rc;//右 for(int i=2;i<=n;i++){cin>>h;cin>>lt[h].lc;cin>>lt[h].rc;}sm(h1);return 0;
}
相关文章:

二叉树(ACM版)
【数据结构1-2】二叉树 - 题单 - 洛谷 【数据结构】day2-树_J娇娇_的博客-CSDN博客 上学时的作业 P1827 [USACO3.4] 美国血统 American Heritage 二叉树特点写法(非二叉树) 截取字符串写法 #include<string> #include<cstring> #include…...

Scratch 之 如何制作鼠标框(2)—— 鼠标框框定角色
hello,大家好,欢迎来到鼠标框系列的第二课时! 咱们废话不多说,直接开始 首先,温故知新一下,上个教程我们讨论了如何绘制鼠标框,网址:绘制鼠标框 你说,一个鼠标框&…...

爬虫逆向实战(九)--猿人学第十三题
一、数据接口分析 主页地址:猿人学第十三题 1、抓包 通过抓包可以发现数据接口是api/match/13 2、判断是否有加密参数 请求参数是否加密? 无请求头是否加密? 无响应是否加密? 无cookie是否加密? 在“cookie”模块…...

NeuralNLP-NeuralClassifier的使用记录(一),训练预测自己的【英文文本多分类】
NeuralNLP-NeuralClassifier的使用记录,训练预测自己的英文文本多分类 NeuralNLP-NeuralClassifier是腾讯开发的一个多层多分类应用工具,支持的任务包括,文本分类中的二分类、多分类、多标签,以及层次多标签分类。支持的文本编码…...

Pycharm社区版连接WSL2中的Mysql8.*
当前时间2023.08.13,Windows11中默认的WSL版本已经是2了,在WSL2中默认的Ubuntu版本已经是22.04,而Ubuntu22.04中默认的Mysql版本已经是8.*。 Wsl 2 中安装mysql WSL2中安装Mysql的方法参考自微软官方文档【开始使用适用于 Linux 的 Windows …...

前端传递参数时,form-data 和 json 的区别
在传递参数时,form-data 和 JSON 是两种常见的数据格式。 form-data 是一种多部分表单数据格式,通常用于上传文件或包含二进制数据的表单提交。它使用 multipart/form-data 格式来编码数据。在使用 form-data 格式时,数据会被分割成多个部分&…...

FairyGUI-Unity侧菜单扩展
目录 缘由: 分析: 准备: 完整代码: 缘由: 在使用FairyGUI作为项目UI开发时,有时会使用FairyGUI提供的Scripting Define Symbols。当前FairyGUI中的Scripting Define Symbols有: 骨骼动画 …...

学习笔记十八:污点、容忍度
污点、容忍度 污点、容忍度管理节点污点把k8snode2当成是生产环境专用的,其他node是测试的给k8snode1也打上污点 污点、容忍度 给了节点选则的主动权,我们给节点打一个污点,不容忍的pod就运行不上来,污点就是定义在节点上的键值属…...

amis百度前端框架,在js中使用amis写json转页面
amis百度前端框架,在js中使用用amis写的json页面 1.在项目中使用百度 amis 的sdk做开发库。 <script src="./sdk/sdk/sdk.js"></script> 2。加载sdk中的库: amis = amisRequire(amis/embed);amisLib = amisRequire(amis);const match = amisRequire…...

openEuler安装jdk、openEuler离线安装jdk、openEuler设置jdk、openEuler在线安装
记录一下本人使用openEuler安装jdk的过程,希望能帮到看到帖子的你! 方式一:在线安装: 在 openEuler 上安装 JDK(Java Development Kit)的步骤如下: 更新系统: 在安装 JDK 之前,建议先更新系统软件包。打开终端并执行以下命令: sudo dnf update 这将更新系统中的软…...

Photoshop制作漂亮光泽感3D按钮
原文链接(https://img-blog.csdnimg.cn/45472c07f29944458570b59fe1f9a0e0.png)...

【网络爬虫】模拟登录与代理
代理...

无线局域网基础知识与架构
1.1 无线局域网 无线局域网(Wireless Local Area Network,WLAN)是指以无线信道作为传输 媒介的计算机局域网络,是计算机网络与无线通信技术相结合的产物,它以无线多 址信道作为传输媒介,提供传统有线局域网的功能,能…...

uniapp tabbar 浏览器调试显示 真机不显示
解决方案,把tabBar里面的单位全改为px,rpx是不会显示的! 注意了,改完一定要重新运行,不然无效,坑爹 "tabBar": {"borderStyle": "black","selectedColor": &quo…...

极智AI | 地平线BPU跑通YOLOv5
欢迎关注我的公众号 [极智视界],获取我的更多经验分享 大家好,我是极智视界,本文来介绍一下 地平线BPU跑通YOLOv5。 邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码下载,链接:https://t.zsxq.com/0aiNxERDq 硬件设备为地平线旭日x3,开发环境和执行环…...

循环服务器(同时连接多个客户端,为每个客户端创建一个子进程处理其消息)
服务器 客户端 结果...

【从零学习python 】38.Python包的使用及导入方式
文章目录 包的使用1. 导入包的方式总结2. __init__.py文件有什么用3. __all__ 注意事项进阶案例 包的使用 一个模块就是一个 py 文件,在 Python 里为了对模块分类管理,就需要划分不同的文件夹。多个有联系的模块可以将其放到同一个文件夹下,为…...

docker 容器满了常用处理方法
docker 容器满了常用处理方法 1、运行 df -h 查看剩余磁盘占用情况 2、进入到docker目录 cd /var/lib/docker 3、运行du -h --max-depth1 (检索文件的最大深度1,即只检索汇总计算当前目录下的文件) 4、进入占用最大的 /containers文件夹&am…...

28、springboot的静态模版(前端页面)重加载和 devtools开发者工具
springboot的静态模版重加载和 devtools开发者工具 总结:实现静态模板重加载的两个方法 方法1:在 yml 配置文件,关闭页面模板缓存, 再按 ctrlf9 重新构建 方法2:直接添加 devtools 依赖,再按 ctrlf9 重新构…...

[FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)
本文主要介绍FPGA中常用的RAM、ROM、CAM、SRAM、DRAM、FLASH等资源。 一、RAM RAM(Random Access Memory)是FPGA中最基本和常用的内部存储块,根据不同架构可以实现不同容量,最大可达几十Mb。 FPGA中的RAM主要包括: 分布式RAM:存在于逻辑块…...
Spark SQL优化:NOT IN子查询优化解决
背景 有如下的数据查询场景。 SELECT a,b,c,d,e,f FROM xxx.BBBB WHERE dt ${zdt.addDay(0).format(yyyy-MM-dd)} AND predict_type not IN ( SELECT distinct a FROM xxx.AAAAAWHERE dt ${zdt.addDay(0).format(yyyy-MM-dd)} ) 分析 通过查看SQL语句的执行计划基本…...

代码审计-java项目-组件漏洞审计
代码审计必备知识点: 1、代码审计开始前准备: 环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。 2、代码审计前信息收集: 审计目标的程序名,版本,当前环境(系统,中间件…...

接口测试的测试用例该怎么写呢
接口测试是软件测试中非常重要的一部分,因为接口的稳定性和可靠性对于整个系统的质量和用户体验都有很大的影响。在接口测试中,编写有效的测试用例是非常关键的一步。本文将介绍如何编写接口测试的测试用例,包括测试用例的设计和编写方法&…...

C语言例题讲解(if语句,循环语句,函数)
目录 if语句例题题目分析代码题目总结 循环语句例题题目分析代码题目总结 函数例题题目分析代码题目总结 if语句例题 计算1/1-1/21/3-1/41/5 …… 1/99 - 1/100 的值,打印出结果题目分析 1:首先我们不难看出算式中的加号和减号是交替出现的࿰…...

深入探索JavaEE单体架构、微服务架构与云原生架构
课程链接: 链接: https://pan.baidu.com/s/1xSI1ofwYXfqOchfwszCZnA?pwd4s99 提取码: 4s99 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 课程介绍: 🔍【00】模块零:开营直播&a…...

【STM32】FreeRTOS互斥量学习
互斥量(Mutex) 互斥量又称互斥信号量(本质也是一种信号量,不具备传递数据功能),是一种特殊的二值信号量,它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性…...

Docker容器基础
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、Docker概述1、docker是什么2、Docker的设计宗旨3、容器在内核中支持2种重要技术: 三、Docker的核心概念四、Docker相关命令1.安装依赖包2.设置阿里云…...

Ajax及前端工程化
Ajax:异步的js与xml。 作用: 1、通过ajax给服务器发送数据,并获得其响应的数据。 2、可以在不更新整个网页的情况下,与服务器交换数据并更新部分网页的技术。 一、同步与异步 二、原生Ajax 1、准备数据地址 2、创建XMLHttpReq…...

electron的使用和操作
文章目录 先创建一个基本的electron应用electron生命周期事件 先创建一个基本的electron应用 先安装 npm install --save-dev electron然后在package.json里面创建如下内容 {"name": "my-electron-app","version": "1.0.0","d…...

Python最重要的数据结构是列表(list)的使用方法
列表是一种有序的集合,可以包含任意类型的元素,包括数字、字符串、布尔值、元组等。列表使用方括号[]来表示,元素之间用逗号,分隔。 以下是一些使用列表的例子: 1. 创建一个空列表: my_list []2. 创建一个包含元素的…...