跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言算法

数据结构:二叉树核心概念与特性

系统讲解了数据结构中的树与二叉树基础概念,涵盖节点、度、层、高度等术语定义。内容包含二叉树的定义、满二叉树与完全二叉树的区分,以及二叉树节点数量特性的数学公式。此外,详细介绍了深度优先遍历(前序、中序、后序)和广度优先遍历(层序)的访问顺序,并指出掌握二叉树对理解平衡树、红黑树及解决算法问题的重要性。

深海蔚蓝发布于 2026/3/30更新于 2026/9/1068 浏览

一、树与二叉树的基础概念

在数据结构中,树是一种典型的一对多关系的非线性结构,我们可以从节点、前驱后继、度、层、高度、深度这些维度来理解它的构成。

1. 树的核心术语
  • 节点:是构成树形结构的基本单元,我们可以根据它的位置和作用进一步划分:
    • 根节点:树的起始节点,只有后继节点,没有前驱节点。
    • 分支节点:既有前驱也有后继的节点,在树形结构中最多只有一个前驱,但可以有多个后继。
    • 叶子节点:位于树的最末端,只有前驱,没有后继的节点。
  • 前驱(祖先):指的是当前节点的'来源'节点,也就是在路径上直接指向它的上一个节点。
  • 后继(子孙):是当前节点的后续节点,也就是由它直接指向的下一级节点。
  • 度:代表节点拥有的前驱或后继的数量,又可以细分为:
    • 入度:节点拥有的前驱数量,在树形结构中所有节点的入度均为 1。
    • 出度:节点拥有的后继数量,不同类型的节点出度不同,比如叶子节点的出度为 0。
  • 层:根节点所在的位置为第 1 层,每向下经过一个节点,层数就加 1。
  • 高度:一个节点的高度,是指从该节点到距离它最远的叶子节点之间的距离。
  • 深度:一个节点的深度,是指从根节点到该节点所经过的节点个数。
  • 树的高度 / 深度:整棵树的高度等于树的深度,也等于树的总层数。

二、二叉树的定义与特性

1. 二叉树的定义

二叉树是树形结构的一种特殊形式,它的核心约束是:每个节点最多有 2 个后继节点,这两个后继节点分别被称为左孩子(左侧的子节点)和右孩子(右侧的子节点)。

2. 常见的二叉树类型
  • 满二叉树:一种理想的二叉树结构,其所有的叶子节点都在同一层上,并且除了叶子节点之外,每个节点都有左右两个子节点。
  • 完全二叉树:将二叉树的所有节点按层序展开并连续编号,若编号顺序与满二叉树的编号完全对应,就是完全二叉树。它的特点是叶子节点只会出现在最后两层,且最后一层的叶子节点都靠左排列。
3. 二叉树的重要特性
  • 第 k 层最多节点数:在二叉树的第 k 层上,最多有 2^(k-1) 个节点(k ≥ 1)。
  • 前 k 层最多节点数:在二叉树的前 k 层中,最多有 2^k - 1 个节点(k ≥ 1)。

三、二叉树的遍历方式

遍历是操作二叉树的基础,我们可以按照**深度优先(DFS)和广度优先(BFS)**两大思路来遍历二叉树。

1. 深度优先遍历(DFS)

深度优先遍历的核心是沿着一条路径尽可能深地探索,直到无法继续再回溯,它包含三种常见的顺序:

  • 前序遍历:访问顺序为 根 → 左 → 右。
  • 中序遍历:访问顺序为 左 → 根 → 右。
  • 后序遍历:访问顺序为 左 → 右 → 根。
2. 广度优先遍历(BFS)

广度优先遍历也叫层序遍历,它的核心是按照树的层次,从上到下、从左到右依次访问每一个节点。


四、总结

二叉树是数据结构中非常重要的基础内容,无论是理解后续的平衡二叉树、红黑树,还是解决算法中的路径问题、动态规划问题,都离不开对二叉树概念和特性的掌握。后续我们还会结合具体的代码实现,来深入讲解二叉树的遍历和各种操作。

目录

  1. 一、树与二叉树的基础概念
  2. 1. 树的核心术语
  3. 二、二叉树的定义与特性
  4. 1. 二叉树的定义
  5. 2. 常见的二叉树类型
  6. 3. 二叉树的重要特性
  7. 三、二叉树的遍历方式
  8. 1. 深度优先遍历(DFS)
  9. 2. 广度优先遍历(BFS)
  10. 四、总结

更多推荐文章

查看全部
  • 学生成绩综合统计分析系统的设计与实现
  • Docker Compose 多后端多前端部署日志集中管理方案
  • 算法题解:dd 爱框框 滑动窗口解法
  • GitHub Copilot 代理配置与网络优化指南
  • RS485 收发器在 FPGA 中的应用及毛刺处理
  • AI 产品经理核心能力模型与转型路径
  • 前端代码编写辅助工具评测:从代码补全到规范驱动的 AI 工具
  • Apache IoTDB 数据保留时间管理:TTL 设置与操作实践
  • Python aes-python 包语法、参数与实战案例
  • MySQL 数据库基础入门:Linux 环境安装与配置
  • LLaMA 大模型 LoRA 微调实践与心得
  • 使用文心一言设计智能体稳定调用工作流的提示词
  • Gemini AI 生成图片水印去除方法与技术解析
  • Python 调用本地 DocsGPT API 构建 GUI 开发工具
  • AI 编程新范式:Spec Coding 方法与工具
  • Qwen3-VL 视觉模型微调实战:LLaMA-Factory 与 WEBUI 部署
  • LLM 大模型推理加速与模型量化方法详解
  • OpenClaw 开源机器人项目实现空间智能体记忆与时间感知
  • 前端开发中 Blob 文件格式详解与应用
  • Claude Code + GLM4.7 修复前端 Bug 的踩坑实录与经验总结

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online