news 2026/7/19 15:41:39

树是一种非线性数据结构,用于表示具有层次关系的数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
树是一种非线性数据结构,用于表示具有层次关系的数据

树是一种非线性数据结构,用于表示具有层次关系的数据。根据你提供的内容,以下是对相关概念的梳理与解释:

  1. 树的基本概念

    • 内部结点:除了叶子结点以外的所有非终端结点,即至少有一个子结点的结点(如示例中的 B、D)。
    • 结点层次:从根开始定义,根结点位于第 1 层,其子结点为第 2 层,依此类推,每一层比父层 +1。例如 A 在第 1 层,B、C、D 在第 2 层。
    • 树的高度:树中所有结点的最大层次数。若最大层次为 3,则树的高度为 3。
    • 有序树与无序树:如果子树之间的顺序有区别(如左、右不同),则称为有序树;否则为无序树。二叉树是典型的有序树。
  2. 二叉树的定义
    二叉树是一个有限结点集合,满足:

    • 空树(n = 0);
    • 或由一个根结点和两棵互不相交的左子树和右子树组成,且左右子树也均为二叉树(递归定义)。
  3. 二叉树与普通树的核心区别

区别点二叉树普通树
子树区分明确区分左、右子树(即使为空)不区分左右
结点最大度数最多有两个孩子(度 ≤ 2)度可以大于 2,无限制
  1. 二叉树的性质(节选)
    • 性质 1:在第 $ i $ 层上最多有 $ 2^{i-1} $ 个结点($ i \geq 1 $)。

      如第 3 层最多有 $ 2^{2} = 4 $ 个结点。

    • 性质 2:高度为 $ k $ 的二叉树最多有 $ 2^k - 1 $ 个结点($ k \geq 1 $)。

      这种情况出现在满二叉树中。


满二叉树(Full Binary Tree)
在一棵高度为 $ k $ 的二叉树中,如果所有层次上的结点数都达到最大值,即第 $ i $ 层有 $ 2^{i-1} $ 个结点($ 1 \leq i \leq k $),且总节点数为 $ 2^k - 1 $,则称为满二叉树。

满二叉树的特点是:每个内部结点都有两个子结点,叶子结点全部集中在最底层。

完全二叉树(Complete Binary Tree)
对于一棵高度为 $ k $ 的二叉树,如果其前 $ k-1 $ 层构成一个满二叉树,并且第 $ k $ 层的叶子结点从左到右连续分布(没有空缺),则称为完全二叉树。

完全二叉树允许最后一层不满,但必须“从左向右填满”,不能跳过位置。


主要区别:

特性满二叉树完全二叉树
定义要求所有层都完全填满前 $ k-1 $ 层满,最后一层左对齐
结点数量必须是 $ 2^k - 1 $可以是 $ n $,满足 $ 2^{k-1} \leq n < 2^k $
结构特点每个非叶结点都有两个孩子允许某些非叶结点只有一个孩子(只能是左孩子)
是否一定是完全二叉树否(例如:只有根和右孩子就不是完全二叉树)
应用场景较少直接应用堆(Heap)、优先队列常用结构

举例说明

  • 高度为 3 的满二叉树:
A / \ B C / \ / \ D E F G → 共 7 个结点(= 2³ - 1)
  • 高度为 3 的完全二叉树(非满):
A / \ B C / \ / D E F → 第三层从左开始连续,G 缺失也合法
  • 不是完全二叉树的例子:
A / \ B C / \ D E → 中间缺少F或G,右子树出现而左为空,不连续

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/17 3:59:14

论文降AI率全流程详解:从30%降到20%以下怎么做

一、为什么手动降重总翻车&#xff1f;学术党必知的3大痛点“明明查重率达标了&#xff0c;导师却说论文有AI味要求重写&#xff01;”——这是不是你的真实写照&#xff1f;很多同学误以为同义词替换调整句式就能蒙混过关&#xff0c;结果陷入三大困局&#xff1a;❌ 痛点1&am…

作者头像 李华
网站建设 2026/7/17 16:27:08

YOLOv8如何实现文字区域检测任务?

YOLOv8如何实现文字区域检测任务&#xff1f; 在智能文档处理日益普及的今天&#xff0c;如何从一张扫描发票、合同或书籍页面中快速而准确地“找出哪些地方有字”&#xff0c;已成为OCR系统成败的关键。传统方法依赖边缘检测和连通域分析&#xff0c;面对复杂背景、倾斜排版或…

作者头像 李华
网站建设 2026/7/17 11:43:27

YOLOv8训练参数详解:epochs、imgsz、data配置说明

YOLOv8训练参数详解&#xff1a;epochs、imgsz、data配置说明 在目标检测的实际项目中&#xff0c;我们常常面临这样的困境&#xff1a;模型训练了上百轮却依然漏检严重&#xff0c;或者推理速度慢得无法部署到边缘设备。问题的根源往往不在于算法本身&#xff0c;而在于那些看…

作者头像 李华
网站建设 2026/7/18 4:00:31

YOLOv8 SPPF模块作用机制详解

YOLOv8中的SPPF模块&#xff1a;轻量高效的空间上下文增强机制 在目标检测领域&#xff0c;速度与精度的平衡始终是工程实践的核心挑战。尤其是在无人机航拍、智能监控和移动端视觉应用中&#xff0c;模型不仅要准确识别尺度差异极大的物体——从远处的小行人到近处的大车辆——…

作者头像 李华
网站建设 2026/7/18 12:17:19

YOLOv8如何替换主干网络?自定义Backbone教程

YOLOv8如何替换主干网络&#xff1f;自定义Backbone教程 在目标检测的实际落地过程中&#xff0c;我们常常会遇到这样的问题&#xff1a;标准模型虽然在COCO等通用数据集上表现优异&#xff0c;但在特定场景下却“水土不服”——比如在边缘设备上跑得太慢&#xff0c;或者对小…

作者头像 李华