C语言 · 树形结构与二叉树

📚 共计 30 章节
第01章
树形结构入门
树的定义 · 根节点/叶子/度/深度 · 双亲/孩子/孩子兄弟表示法
基础存储结构
第02章
二叉树基础
二叉树定义 · 性质1-5 · 满二叉树与完全二叉树
性质概念
第03章
二叉树的存储结构
顺序存储(数组) · 链式存储(二叉链表/三叉链表)
数组链表
第04章
二叉树的遍历(上)
前序/中序/后序遍历 · 递归实现
递归遍历
第05章
二叉树的遍历(下)
层序遍历(队列) · 求深度/叶子节点数
队列应用
第06章
非递归遍历实现
前序/中序/后序非递归 · 栈/双栈/标记法
非递归
第07章
线索二叉树
线索化概念 · 中序线索二叉树 · 线索遍历
线索优化
第08章
树与森林的转换
树→二叉树 · 森林→二叉树 · 二叉树→树/森林
转换森林
第09章
哈夫曼树(上)
哈夫曼定义 · 构造算法 · 哈夫曼编码原理
压缩编码
第10章
哈夫曼树(下)
C语言实现 · 文件压缩/解压原理
实现压缩
第11章
二叉搜索树(BST)
BST定义 · 查找 · 插入操作
搜索动态
第12章
BST的删除
三种删除情况 · C语言实现
删除实现
第13章
平衡二叉树(AVL)
AVL定义 · 平衡因子 · LL/RR/LR/RL旋转
旋转平衡
第14章
AVL插入与删除
插入平衡调整 · 删除平衡调整
调整AVL
第15章
红黑树(RBT)基础
5条性质 · 与AVL对比
红黑性质
第16章
红黑树的插入
3种情况 · 变色与旋转 · C语言要点
插入旋转
第17章
红黑树的删除
复杂情况分析 · 应用场景(Linux/STL)
删除应用
第18章
B树基础
B树定义/阶 · 查找 · 插入(节点分裂)
B树分裂
第19章
B树删除与B+树
节点合并 · B+树结构 · 数据库索引
B+树索引
第20章
堆(Heap)
大顶堆/小顶堆 · 存储 · 向下/向上调整
调整
第21章
堆排序
建堆过程 · 排序实现 · 时间复杂度
排序O(nlogn)
第22章
优先队列
概念 · 基于堆实现 · 任务调度
队列调度
第23章
并查集(Union-Find)
概念 · 路径压缩 · 按秩合并 · C实现
并查集压缩
第24章
树形递归算法
递归遍历深入 · 求树高度/宽度
递归高度
第25章
树形非递归算法
非递归遍历 · Morris遍历(线索化思想)
Morris非递归
第26章
树与表达式
表达式树 · 构建与求值
表达式求值
第27章
决策树与博弈树
决策树概念 · 极小极大 · Alpha-Beta剪枝
博弈剪枝
第28章
树形结构在OS中应用
文件系统目录树 · 进程树 · 设备树
操作系统目录树
第29章
树形结构在编译器中
语法分析树(AST) · 符号表作用域树
编译器AST
第30章
综合实战:通用二叉树库
创建/遍历/销毁 · 序列化与反序列化
实战序列化