[c++]csp-j初赛——树
宇宙免责申明:本文由deepseek做过更改,以及进行了语言上的优化,可能会出现错误,如有错误,请私信联系.本文的所有图均为本人手画,由于画图时神志不清,如果发现图中有错误,请私信联系.树一、树的基本概念树是一种非线性数据结构用于描述数据元素之间的层次关系。它由nn≥0个节点组成一个具有层次关系的集合二、 核心术语一览表术语含义初赛常考指数根节点没有父节点的节点每棵树有且仅有一个⭐⭐⭐叶子节点度为0的节点没有子节点⭐⭐⭐父节点/子节点直接相连的上下层节点⭐⭐⭐节点的度一个节点含有的子节点个数⭐⭐⭐⭐树的度树中所有节点度的最大值⭐⭐⭐节点的层次根为第1层根的子节点为第2层……⭐⭐⭐树的深度/高度树中节点的最大层次⭐⭐⭐⭐祖先从根到该节点路径上的所有节点⭐⭐森林多棵互不相交的树的集合⭐⭐二叉树定义二叉树Binary Tree 是每个节点最多只有两个子节点的树分别称为左子节点和右子节点次序不能颠倒。如图二叉树概念辨析总览类型定义初赛考点满二叉树除叶子节点外每个节点都有2个子节点所有叶子节点都在同一层深度为 h 的满二叉树共有2ʰ − 1个节点完全二叉树只有最后一层不满且最后一层的节点全部集中在左侧连续位置满二叉树是完全二叉树的特殊情况常考数组下标计算左孩子 2i右孩子 2i1「注」重点区分完全二叉树 ≠ 满二叉树。满二叉树是“完美塞满”完全二叉树是“最后一层从左到右连续排列”。如图二叉树层数计算在 CSP-J 初赛中默认根节点位于第 1 层。设二叉树的高度为hhh总结点数为NNN。第iii层的最大节点数二叉树的第iii层最多能容纳的节点数为2 i−12^{\,i-1}2i−1。每个节点最多向下延伸出 2 个子节点节点数呈等比数列1,2,4,…1, 2, 4, \dots1,2,4,…满二叉树的高度推导若该树为满二叉树则前hhh层的所有节点均已填满。总节点数NNN等于前hhh层的最大节点数之和N124⋯2h−1 N 1 2 4 \dots 2^{h-1}N124⋯2h−1根据等比数列求和公式首项a11a_11a1​1公比q2q2q2项数hhhN1⋅(2h−1)2−12h−1 N \frac{1 \cdot (2^h - 1)}{2 - 1} 2^h - 1N2−11⋅(2h−1)​2h−1由此反推满二叉树的高度2hN1 ⟹ hlog⁡2(N1) 2^h N 1 \implies h \log_2(N 1)2hN1⟹hlog2​(N1)完全二叉树的高度推导完全二叉树的前h−1h-1h−1层必然是满二叉树其节点数为2h−1−12^{h-1} - 12h−1−1。由于hhh为正整数该不等式组等价于常用的向下取整公式h⌊log⁡2N⌋1 h \lfloor \log_2 N \rfloor 1h⌊log2​N⌋1普通二叉树的高度范围推导当每层都尽可能填满节点时高度达到理论最小值。此时最小的整数hhh必须满足N≤2h−1N \le 2^{h} - 1N≤2h−1解得hmin⁡⌈log⁡2(N1)⌉ h_{\min} \lceil \log_2 (N 1) \rceilhmin​⌈log2​(N1)⌉当每层都仅有 1 个节点退化为单链表时高度达到理论最大值hmax⁡N h_{\max} Nhmax​N

相关新闻

AMS1117线性稳压器深度解析:从内部结构到外围电路设计实战

AMS1117线性稳压器深度解析:从内部结构到外围电路设计实战

1. 从一颗“不起眼”的芯片说起:AMS1117的角色与价值 在电子工程师的日常里,AMS1117这颗芯片实在是太常见了,常见到几乎被我们忽略。它就像电路板上的“螺丝钉”,负责把不稳定的输入电压,稳稳当当地变成一个我们需要的…

2026/8/2 2:29:34阅读更多 →
理财三忌:莫让常识变陷阱

理财三忌:莫让常识变陷阱

人机协作,仅供参考 理财路上,常有三个看似平常却极易踩中的误区,若不细察,努力反成负担。 其一,盲目追求“跑赢通胀”。许多人将此视为理财铁律,却不知通胀指标及其具体数值为何。目标模糊,行…

2026/8/2 2:29:34阅读更多 →
游戏MOD制作入门:从《真三国无双》自定义剧本看关卡设计与事件修改

游戏MOD制作入门:从《真三国无双》自定义剧本看关卡设计与事件修改

这次我们来看一个基于《真三国无双》系列游戏的自定义剧本项目——“徐州之战,但是刘备军来晚了”。这个项目并非官方DLC,而是由玩家社区基于游戏引擎或MOD工具创作的原创内容。它的核心创意在于重构了经典的“徐州之战”关卡,引入了一个关键…

2026/8/2 2:27:33阅读更多 →
支持向量机(SVM)原理与实现:从最大间隔到梯度下降实战

支持向量机(SVM)原理与实现:从最大间隔到梯度下降实战

1. 项目概述:从“分界线”到“最大间隔”如果你手头有一堆数据点,有些是红色的,有些是蓝色的,散落在平面上,你的任务就是画一条线,把红色和蓝色的点尽可能干净利落地分开。这条线怎么画,学问就大…

2026/8/2 3:48:08阅读更多 →
基于SpringBoot的全栈Java博客系统开发实践

基于SpringBoot的全栈Java博客系统开发实践

1. 项目概述:一个全栈Java博客系统的诞生去年团队重构技术博客时,我主导开发了这套基于SpringBoot的博客系统。相比市面上臃肿的WordPress,这个轻量级方案在保证核心功能的前提下,性能提升了3倍以上。系统采用经典的三层架构设计&…

2026/8/2 3:48:08阅读更多 →
高性能正弦函数查表法:原理、实现与优化实战

高性能正弦函数查表法:原理、实现与优化实战

1. 项目概述:为什么我们需要一张“sin函数值记录表”?在工程计算、图形学、信号处理乃至游戏开发中,正弦函数(sin)的调用频率高得惊人。无论是模拟一个平滑的波浪运动、计算旋转角度,还是进行傅里叶变换&am…

2026/8/2 3:48:08阅读更多 →
Windows系统Node.js安装与配置全攻略:从nvm版本管理到环境优化

Windows系统Node.js安装与配置全攻略:从nvm版本管理到环境优化

1. 从零开始:为什么要在Windows上安装Node.js?如果你是一名前端开发者,或者对JavaScript生态圈感兴趣,那么Node.js对你来说,几乎就像空气和水一样不可或缺。它不是一门新的编程语言,而是让JavaScript能够脱…

2026/8/2 3:48:08阅读更多 →
OpenClaw帮助文档安装篇,TopClaw0基础三步满载技能库

OpenClaw帮助文档安装篇,TopClaw0基础三步满载技能库

装之前先明白一件事:OpenClaw其实没那么“高冷”很多朋友一看到“安装”“部署”这种词,心里就开始打鼓,总觉得得懂一堆命令行、配一堆环境变量才行。我以前也这么想,直到自己动手装了一遍OpenClaw才发现,它更像是个“…

2026/8/2 3:48:08阅读更多 →
Unity光影融合:光照贴图与动态物体无缝衔接的完整解决方案

Unity光影融合:光照贴图与动态物体无缝衔接的完整解决方案

1. 项目概述:静态与动态光影的融合难题在Unity里做项目,尤其是涉及到室内场景或者对光影一致性要求比较高的项目,光照贴图(Lightmap)绝对是个让人又爱又恨的东西。爱的是,它烘焙出来的静态光影效果&#xf…

2026/8/2 3:46:08阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:10阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/2 0:00:12阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/2 0:00:13阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:10阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/2 0:00:12阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/2 0:00:13阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/2 1:29:34阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/2 2:32:55阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/2 2:09:20阅读更多 →