PAT甲级 1064 Complete Binary Search Tree(30分)完全二叉搜索树
Solution题目要求给一串构成树的序列已知该树是完全二叉搜索树求它的层序遍历的序列。总得概括来说已知中序可求root下标可以求出层序。1因为二叉搜索树的中序满足是一组序列的从小到大排列所以只需排序所给序列即可得到中序。2因为根据完全二叉树的结点数可以求出它的根结点在中序中对应的下标要知道根结点在中序中的下标只要知道左子节点的个数即可。3已知了中序又可以根据结点数求出根结点的下标就可以递归求出左右子树的根结点的下标。4结点的左孩子为2 * i 1右孩子2 * i 2就可以根据结点下标和中序数组赋值level数组。5最后输出所有结点的层序数组level。画张图说明吧代码如下#includeiostream#includemath.h#includevector#includealgorithmusing namespace std;vectorintlevel,in;//level为层序in为中序voidlevel_order(intleft,intright,intindex){if(leftright){return;}intnright-left1;intllog(n1)/log(2);// 除了最后一层的层数intleaven-(pow(2,l)-1);//最后一层的叶子节点数introotleft(pow(2,l-1)-1)min((int)pow(2,l-1),leave);// pow(2,l-1)-1是除了root结点所在层和最后一层外//左子树的结点个数pow(2,l-1)是l1层最多拥有的属于根结点左子树的结点个数//min(pow(2,l-1),leave)是最后一个结点真正拥有的属于根结点左子树上的结点个数level[index]in[root];level_order(left,root-1,2*index1);level_order(root1,right,2*index2);}intmain(){intn;cinn;in.resize(n);level.resize(n);intnum;for(inti0;in;i){cinin[i];}sort(in.begin(),in.end());level_order(0,n-1,0);coutlevel[0];for(inti1;in;i){cout level[i];}return0;}更简单的解法1如果使用数组来存放完全二叉树那么对完全二叉树当中的任何一个结点设编号为x其中根结点编号为1其左孩子结点的编号一定时2x而右孩子结点的编号一定时2x1,。那么就可以开一个数组level[maxn]其中level[1]~level[n]按层序存放完全二叉树的n个结点这个数组就存放了一棵完全二叉树。2考虑到对一棵二叉排序树来说其中序遍历序列是递增的先将输入的数字从小到大排序然后对level数组表示的二叉树进行中序排序并在遍历的过程中将数字从小到大填入数组。代码如下#includeiostream#includealgorithm#includestdio.h#includecmath#includequeue#includecstring#includevector#includestack#includemap#defineMAX 1005#defineINF 0x3f3f3f3ftypedeflonglongll;usingnamespacestd;intn,id0;intin[MAX],level[MAX];voidinorder(introot){//中序遍历if(rootn)return;inorder(root*2);//往左子树递归level[root]in[id];//根结点处赋值in[id]inorder(root*21);//往右子树递归}intmain(){scanf(%d,n);for(inti0;in;i){scanf(%d,in[i]);}sort(in,inn);inorder(1);for(inti1;in;i){printf(%s%d,i1?: ,level[i]);}return0;}

相关新闻

Java后端高效学习路径:以面试场景驱动核心技术深度掌握

Java后端高效学习路径:以面试场景驱动核心技术深度掌握

1. 先搞清楚“进步最快”到底指什么,别被标题带偏 看到“进步最快”这种标题,很多人第一反应是找捷径、找速成秘籍。但以我十多年的经验来看,对于Java后端开发,尤其是面向7月这种求职季,所谓的“最快”路径,从来不是指时间最短,而是 单位时间内投入产出比最高、方向最…

2026/7/28 19:15:27 阅读更多 →
信奥竞赛团问题解析与C++实现技巧

信奥竞赛团问题解析与C++实现技巧

1. 项目概述:信奥刷题实战解析 最近在准备GESP和CSP竞赛时,遇到一道很有意思的信奥题目P7100 [W1]团。这道题考察了基础的算法设计和C实现能力,特别适合作为刷题训练的典型案例。我在实际解题过程中发现,很多初学者容易在数据结构…

2026/7/28 19:15:27 阅读更多 →
5分钟掌握炉石佣兵战记自动化脚本:智能游戏助手使用指南

5分钟掌握炉石佣兵战记自动化脚本:智能游戏助手使用指南

5分钟掌握炉石佣兵战记自动化脚本:智能游戏助手使用指南 【免费下载链接】lushi_script This script is to save your time from Mercenaries mode of Hearthstone 项目地址: https://gitcode.com/gh_mirrors/lu/lushi_script 还在为炉石传说佣兵战记模式中的…

2026/7/28 19:14:27 阅读更多 →

最新新闻

SpringBoot+Vue企业级房屋租赁系统架构与优化实践

SpringBoot+Vue企业级房屋租赁系统架构与优化实践

1. 项目概述:企业级房屋租赁系统的技术架构与核心价值这套基于SpringBootVueMyBatisMySQL的企业级房屋租赁管理系统,是当前房产中介、长租公寓运营商和物业公司的数字化管理利器。我在实际部署过三个不同规模的租赁系统后发现,这种技术组合能…

2026/7/28 19:24:31 阅读更多 →
AUTOSAR CP 诊断寻址解密:物理寻址与功能寻址的“身份识别”是如何层层实现的?

AUTOSAR CP 诊断寻址解密:物理寻址与功能寻址的“身份识别”是如何层层实现的?

引言:一个看似简单,却难倒无数工程师的“灵魂拷问” 在汽车电子诊断开发领域,有一个问题几乎每个新人都曾困惑过:“诊断仪发了一条 CAN 报文,ECU 怎么知道这是一个发给自己的单播请求,还是一个发给全车的广…

2026/7/28 19:24:31 阅读更多 →
专科毕业论文查重工具 筛选要点与避坑指南

专科毕业论文查重工具 筛选要点与避坑指南

2026年专科毕业论文的学术不端检测与AI内容筛查标准持续趋严,多数院校会对所有毕业论文进行全覆盖检测,重复率不达标会直接要求返修,情况严重的会推迟答辩甚至影响正常毕业。作为第一次独立完成毕业论文的专科毕业生,多数人对查重…

2026/7/28 19:24:31 阅读更多 →
STM32F103 Bootloader编译与烧录全攻略:从源码到3D打印机主板实战

STM32F103 Bootloader编译与烧录全攻略:从源码到3D打印机主板实战

1. 项目缘起:为什么我们需要自定义 Bootloader?如果你正在玩基于 Klipper 的 3D 打印机,尤其是像 Voron 这类 DIY 机型,那么对 STM32F103 这颗“神片”一定不陌生。它成本低廉、性能足够,是许多主板(如 SKR…

2026/7/28 19:24:31 阅读更多 →
计算机网络-《图解HTTP》读书笔记

计算机网络-《图解HTTP》读书笔记

《图解HTTP》读书笔记 本文链接:https://blog.csdn.net/qiuxuewei2012/article/details/100108137 第一章:了解Web及网路基础 TCP/IP协议 把互联网想关联的协议集合起来总称为TCP/IP协议 TCP/IP 协议族按层次分为:应用层,传输…

2026/7/28 19:24:31 阅读更多 →
网关的“安检哲学”:车辆行驶中,诊断入口如何被层层设卡?

网关的“安检哲学”:车辆行驶中,诊断入口如何被层层设卡?

引言:一场被阻止的“谋杀” 2015年,密苏里州圣路易斯郊外的一条高速公路上,一辆白色Jeep Cherokee正以110公里的时速巡航。车内,一位记者紧握方向盘,手心微微出汗。坐在副驾驶的安全研究员Charlie Miller平静地盯着笔记…

2026/7/28 19:23:31 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻