精美网站制作公司安徽做手机网站

张小明 2026/1/19 17:33:53
精美网站制作公司,安徽做手机网站,建筑资料哪个网最全,企业网上年检在网站怎么做题目描述有一个 n(n≤10^6) 个结点的二叉树。给出每个结点的两个子结点编号#xff08;均不超过 n#xff09;#xff0c;建立一棵二叉树#xff08;根节点的编号为 1#xff09;#xff0c;如果是叶子结点#xff0c;则输入 0 0。建好这棵二叉树之后#xff0c;请求出…题目描述有一个 n(n≤10^6) 个结点的二叉树。给出每个结点的两个子结点编号均不超过 n建立一棵二叉树根节点的编号为 1如果是叶子结点则输入0 0。建好这棵二叉树之后请求出它的深度。二叉树的深度是指从根节点到叶子结点时最多经过了几层。输入格式第一行一个整数 n表示结点数。之后 n 行第 i 行两个整数 l、r分别表示结点 i 的左右子结点编号。若 l0 则表示无左子结点r0 同理。输出格式一个整数表示最大结点深度。输入输出样例输入 #1复制7 2 7 3 6 4 5 0 0 0 0 0 0 0 0输出 #1复制4问题分析与核心思路本题要求计算给定二叉树的最大深度。我们采用广度优先搜索 (BFS)来解决因为它天然地按层级遍历。BFS 特性保证先访问层级低的节点后访问层级高的节点。深度计算在遍历过程中利用父节点的深度信息推算出子节点的深度父节点深度 1。最终答案所有节点中记录的最大层级值即为树的最大深度。 数据结构设计为了存储树结构和节点深度我们定义了结构体nodestruct node{ int l;//左儿子 int r;//右儿子 int level;//节点所在层级/深度 }a[1000001];a数组存储所有节点信息。queuenode q用于辅助 BFS 遍历。ma记录当前已知的最大深度。BFS 算法实现 (bfs函数)bfs函数实现了核心的层序遍历逻辑。1. 初始化将根节点编号 1入队并假设其深度已初始化为 1。2. 循环遍历使用while(!q.empty())进行循环。出队访问node tmpq.front(); q.pop();处理左儿子if(tmp.l!0){ // 检查左儿子是否存在 // 关键a[i].level 0 标记节点是否已访问 if(a[tmp.l].level0){ a[tmp.l].leveltmp.level1; // 新深度 父节点深度 1 q.push(a[tmp.l]); // 左儿子入队 mamax(ma,a[tmp.l].level); // 更新最大深度 } }处理右儿子处理逻辑与左儿子相同确保右儿子也入队并更新最大深度。3. 结果输出遍历完成后输出ma。完整代码流程在main函数中我们负责读取数据、初始化根节点深度并调用 BFS 函数。//洛谷P4913 【深基16.例3】二叉树深度 #include iostream #include queue using namespace std; struct node{ int l;//左儿子 int r;//右儿子 int level;//节点所在层次 }a[1000001]; int ma0; queuenode q; void bfs(int root){//根节点传进来 node tmp; tmpa[root]; q.push(tmp);//根节点入队 while(!q.empty()){ tmpq.front();//访问队首元素 q.pop();//队首出队 //得有左儿子 if(tmp.l!0) { //左儿子没有走过 if(a[tmp.l].level0){ a[tmp.l].leveltmp.level1; q.push(a[tmp.l]);//没有访问过就入队 mamax(ma,a[tmp.l].level); } } //得有右儿子 if(tmp.r!0){ //右儿子没有走过 if(a[tmp.r].level0){ a[tmp.r].leveltmp.level1; q.push(a[tmp.r]); mamax(ma,a[tmp.r].level); } } } coutma; } int main(){ int n; cinn; for(int i1;in;i) cina[i].la[i].r; a[1].level1; ma1; bfs(1); return 0; }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

php网站后台开发教程我要做网店官网

高效部署大模型:TensorRT INT8量化技术深度解析 在大模型落地的“最后一公里”,性能瓶颈常常让团队陷入两难:训练好的模型精度达标,却在生产环境中跑不动。一个典型的BERT-Large推理请求,在PyTorch上轻轻松松耗时80ms…

张小明 2025/12/25 8:49:59 网站建设

南京斯点企业网站建设温岭市溪建设局网站

实战指南:HandheldCompanion掌机伴侣深度配置与优化 【免费下载链接】HandheldCompanion ControllerService 项目地址: https://gitcode.com/gh_mirrors/ha/HandheldCompanion 你是否经常遇到Windows掌机控制器连接不稳定、功能配置复杂、游戏兼容性差等问题…

张小明 2025/12/25 8:50:05 网站建设

推广步骤遂宁网站seo

终极指南:快速将Vite应用接入Garfish微前端框架 【免费下载链接】garfish A powerful micro front-end framework 🚚 项目地址: https://gitcode.com/gh_mirrors/ga/garfish 在现代前端开发中,微前端架构已经成为大型应用团队协作的首…

张小明 2026/1/10 4:53:06 网站建设

南宁手机做网站设计温州 网站

树莓派户外项目实用指南 户外电子设备的应用思路 很多人会觉得在户外使用电子设备不太可靠,但实际上,我们有一些防水的方案,同时也有很多让树莓派在户外项目中发挥作用的点子,比如监测花园环境、控制节日灯光等。 无需出门知晓室外温度 室外温度是不断变化的,无论是为…

张小明 2026/1/1 21:50:56 网站建设

东莞网站建设 塑胶五金免费企业网站建设技术

STL体积计算终极指南:快速掌握Python工具高效使用技巧 【免费下载链接】STL-Volume-Model-Calculator STL Volume Model Calculator Python 项目地址: https://gitcode.com/gh_mirrors/st/STL-Volume-Model-Calculator STL体积模型计算器是一款专为3D打印爱好…

张小明 2026/1/9 16:14:21 网站建设