树与二叉树--树的基本概念

1、树的基本概念总结

1.树是n(n≥0)个节点的有限集合。

2.n=0 时称为空树。

3.非空树满足:

有且仅有一个根节点(Root)。

其余节点可分成 m 个互不相交的子集合,每个子集本身也是一棵树,称为子树。


2. 基本术语

根节点:最顶层节点,没有父节点。

叶子节点:没有子节点的节点。

父节点 / 子节点:直接相连的上下级节点。

兄弟节点:同一个父节点的子节点。

祖先 / 后代:从根到某节点路径上所有节点为祖先;某节点子树中所有节点为后代。

节点的度:节点拥有的子树个数。

树的度:树中所有节点的度的最大值。

层数(深度):根节点在第 1 层(或第 0 层,看教材),子节点层数 = 父节点层数 + 1。

树的高度(深度):树中节点的最大层数。

森林:m(m≥0)棵互不相交的树的集合。


3. 有序树 vs 无序树

有序树:子节点从左到右顺序有意义,不能互换。

无序树:子节点顺序无关。


4. 二叉树(最常用)

每个节点最多有两个子节点,分别称为左孩子、右孩子。

是有序树,左右子树不能互换。

二叉树的重要性质

第 i 层最多有 2^(i-1) 个节点。

深度为 k 的二叉树最多有 2^k − 1 个节点。

叶子节点数 n₀ = 度为 2 的节点数 n₂ + 1。

特殊二叉树

满二叉树:每一层节点都满,深度 k 有 2^k−1 个节点。

完全二叉树:除最后一层外都满,最后一层节点靠左排列。

二叉排序树(BST):左 < 根 < 右,便于查找。

平衡二叉树(AVL):左右子树高度差不超过 1。

哈夫曼树:带权路径长度最短的二叉树,用于编码。


5. 树的存储结构

顺序存储:数组,适合完全二叉树。

链式存储:二叉链表


6. 遍历方式(二叉树)

先序遍历:根 → 左 → 右

中序遍历:左 → 根 → 右

后序遍历:左 → 右 → 根

层序遍历:从上到下、从左到右(用队列实现)

相关推荐
坚持编程的菜鸟7 小时前
模拟实现memmove
c语言·算法·模拟实现memmove
wabs6669 小时前
关于图论【最短路径之Dijkstra算法(堆优化版)|卡码网47.参加科学大会的思考】
数据结构·算法·图论·优先级队列·邻接表·小顶堆·卡码网
坚持编程的菜鸟9 小时前
编写判断大小端程序
c语言·算法·判断大小端
papaofdoudou9 小时前
判断排列逆序奇偶性的乘积判别法(范德蒙德符号法)
人工智能·算法
linux-hzh9 小时前
百日算法修炼 · Day 03
java·算法
问商十三载10 小时前
RAG 检索效果差怎么排查?2026 五层诊断法完整指南
开发语言·人工智能·windows·python·算法
嵌入式老牛11 小时前
三相电气量采集模块设计(三)非同步采样时的精度提升
算法·精度·计量
今天AI了吗12 小时前
精细化落地教程:TimechoAI调参标准+数据清洗规范+误差归因+阈值适配全维度指南
大数据·人工智能·算法
zephyr0513 小时前
从递归到迭代:二叉树非递归前中后序遍历详解
算法
Dr.kangder13 小时前
嵌入式总线设备解析——TTE总线应用与实践
开发语言·网络·算法·嵌入式·多任务·同步机制