发表于: 2025-07-03 21:01:55
0 13
今天完成的任务:学习任务三,先准备任务三需要的东西。
刚开始看不懂什么东西,师兄说下载Axure,看原型图
安装 【Axure RP9】
安装并汉化完成
接下来看一看树结构
一、树结构核心概念速览
树结构以分层的方式组织数据,每个节点可以有零个或多个子节点。理解树结构,需掌握几个核心术语:
- 根节点:树的顶层节点,没有父节点
- 子节点:被其他节点直接连接的节点
- 叶子节点:没有子节点的节点
- 树的高度:从根节点到最远叶子节点的最长路径上的节点数
1. 完全二叉树
定义:除最后一层外,其余层节点数全满,且最后一层节点从左到右连续排列。
核心特点:
- 可使用数组高效存储(节点
i
的左子节点为2i+1
,右子节点为2i+2
) - 层序遍历判断:若遇到空节点后仍有非空节点,则不是完全二叉树
应用场景:优先队列、堆排序的底层实现
2. 满二叉树
定义:所有层节点数均达到最大值,节点总数为 2^h - 1
(h
为树高)。
3. 二叉搜索树(BST)
核心规则:
- 左子树所有节点值 < 根节点值
- 右子树所有节点值 > 根节点值
- 左右子树均为 BST
致命缺陷:极端情况下会退化为链表,导致查找效率从O(log n)
暴跌至O(n)
!
性能优化:引入平衡机制(如 AVL 树、红黑树)
4. 平衡二叉树(AVL 树 & 红黑树)
AVL 树:
- 严格要求左右子树高度差不超过 1
- 通过左旋、右旋操作保持平衡
- 适用场景:对查询性能要求极高的场景(如数据库索引)
5. B 树 & B + 树
很相似,所以放一起对比。
B 树:
- 多路平衡搜索树,每个节点可存多个键值对
- 核心优势:减少磁盘 I/O 次数,适合外存数据存储
明天的计划:让师兄讲解讲解任务三要干什么。
评论