news 2026/4/16 19:46:44

程序综合实践第十二周-二叉树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
程序综合实践第十二周-二叉树

1、二叉树求高度

#include<bits/stdc++.h> using namespace std; int n; const int N=105; struct node{ int left; int right; int data; }a[N]; int dfs(int r){ if(r==0)return 0; int h1=dfs(a[r].left); int h2=dfs(a[r].right); return max(h1,h2)+1; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].data>>a[i].left>>a[i].right; } cout<<dfs(1); return 0; }

2、二叉树非叶子

#include<bits/stdc++.h> using namespace std; int n; const int N=105; struct node{ int data; int left; int right; }a[N]; void xianxu(int idx){ if(idx==0)return; cout<<a[idx-1].data<<" "; xianxu(a[idx-1].left); xianxu(a[idx-1].right); } int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>a[i].data>>a[i].left>>a[i].right; } for(int i=0;i<n;i++){ if(a[i].left!=0&&a[i].right!=0){ a[i].data+=1; } } xianxu(1); cout<<endl; return 0; }

3、钻石收藏家

#include<bits/stdc++.h> using namespace std; const int N=1e5+5; int a[N]; int main(){ int n,k; cin>>n>>k; for(int i=0;i<n;i++){ cin>>a[i]; } sort(a,a+n); int max_cnt=0; int left=0; for(int right=0;right<n;right++){ while(a[right]-a[left]>k){ left++; } max_cnt=max(max_cnt,right-left+1); } cout<<max_cnt<<endl; return 0; }

4、牛奶桶Milk Pails

#include<bits/stdc++.h> using namespace std; int main(){ int x,y,m; cin>>x>>y>>m; int max_cnt=0; for(int i=0;i*x<=m;i++){ for(int j=0;i*x+j*y<=m;j++){ int t=i*x+j*y; max_cnt=max(max_cnt,t); } } cout<<max_cnt<<endl; return 0; }

5、我在哪?(Where am I?)

#include<bits/stdc++.h> using namespace std; bool check(int n,char a[],int k){ for(int i=1;i<=n-k+1;i++){ for(int j=i+1;j<=n-k+1;j++){ bool f=true; for(int l=0;l<k;l++){ if(a[i+l]!=a[j+l]){ f=false; break; } } if(f){ return false; } } } return true; } int main(){ int n; char a[105]; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int k=1;k<=n;k++){ if(check(n,a,k)){ cout<<k<<endl; return 0; } } cout<<n<<endl; return 0; }

6、FBI树

#include <bits/stdc++.h> using namespace std; int a[2048+10]; int len; void buildTree(int root) { if(root>=len)return; buildTree(2*root); buildTree(2*root+1); if(a[2*root]==1&&a[2*root+1]==1)a[root]= 1; else if(a[2*root]==0&&a[2*root+1]==0)a[root]=0; else a[root]=2; } void dfsTree(int root) { if(root>=2*len)return; dfsTree(2*root); dfsTree(2*root+1); if (a[root]==1)cout<<"I"; else if(a[root]==0)cout<<"B"; else cout<<"F"; } int main() { int n; string str; cin>>n; cin>>str; len=1<<n; for(int i=len;i<=2*len-1;i++){ a[i]=str[i-len]-'0'; } buildTree(1); dfsTree(1); return 0; }

7、先序排列(后中求先)

#include<bits/stdc++.h> using namespace std; void xianxu(string data,string order){ if(data.empty()||order.empty())return; char r=order[order.size()-1]; cout<<r; int pos=data.find(r); string left=data.substr(0,pos); string right=data.substr(pos+1); int left_len=left.size(); string left_v=order.substr(0,left_len); string right_v=order.substr(left_len,order.size()-left_len-1); xianxu(left,left_v); xianxu(right,right_v); } int main(){ string idx,post; cin>>idx>>post; xianxu(idx,post); cout<<endl; return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:04:49

Jmeter进行http接口测试,这一篇就搞定

jmeter-http接口测试脚本 jmeter进行http接口测试的主要步骤&#xff08;1.添加线程组 2.添加http请求 3.在http请求中写入接口的URL&#xff0c;路径&#xff0c;请求方式&#xff0c;参数 4.添加查看结果树 5.调用接口&#xff0c;查看返回值&#xff09; 针对接口添加heade…

作者头像 李华
网站建设 2026/4/16 15:05:14

LobeChat能否支持WebGL可视化?三维数据呈现设想

LobeChat能否支持WebGL可视化&#xff1f;三维数据呈现设想 在AI助手逐渐从“问答工具”演变为“智能工作台”的今天&#xff0c;用户不再满足于冷冰冰的文字回复。工程师想看神经网络的拓扑结构&#xff0c;科研人员需要直观展示分子空间构型&#xff0c;设计师希望实时预览3D…

作者头像 李华
网站建设 2026/4/15 22:24:13

Fail2Ban 一键部署 + 管理脚本(可直接执行)

将以下内容保存为 fail2ban_setup.sh&#xff0c;执行 sudo bash fail2ban_setup.sh 即可完成「配置 Web 界面 常用命令封装」&#xff0c;无需手动敲命令&#xff01;bash运行#!/bin/bash # Fail2Ban 一键部署脚本&#xff08;适配 Ubuntu 20.04/22.04&#xff09; # 作者&a…

作者头像 李华
网站建设 2026/4/16 13:33:13

软件工程与系统,容器,进程,架构,组织,结构和部署的关系概论

考虑软件工程作为一个学科&#xff0c;它涉及软件开发的整个生命周期。在这个生命周期中&#xff0c;系统、容器、进程、架构、组织、结构和部署是不同层次和阶段的关键概念。下面将详细阐述它们之间的关系&#xff0c;以及它们的核心机制和原理&#xff0c;并举例说明。 系统&…

作者头像 李华
网站建设 2026/4/16 15:07:08

C#字符串与数组操作全解析

第八次一&#xff0c;字符串创建1&#xff0c;对象类型&#xff1a; 可以通过class 创建一个对象类型如&#xff1a;People p1 new People() { Id100}; //p1对象类型2&#xff0c;基本类型&#xff1a; int float double 等 int 10如&#xff1a;int a 10;Test(a); Test1(…

作者头像 李华
网站建设 2026/4/16 17:50:18

飞度电感均衡:以三节电池为例的内控逻辑与sfunction逻辑运算

飞度电感均衡 三节电池为例 内附控制逻辑 sfunction 逻辑运算搞过BMS开发的老铁都知道&#xff0c;电池均衡是个磨人的小妖精。今天咱们拿三节串联电池当小白鼠&#xff0c;聊聊飞度电感均衡的骚操作。这个方案不用传统的电阻烧能量&#xff0c;改用电感当搬运工&#xff0c;能…

作者头像 李华