【数据结构】—— chapter 05 树与二叉树的应用 (part4)

5.5 树与二叉树的应用

5.5.1 二叉排序树(BST)

1. 定义

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

2. 查找操作

【数据结构】—— chapter 05 树与二叉树的应用 (part4)【数据结构】—— chapter 05 树与二叉树的应用 (part4)

3. 插入操作

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

4. 构造

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

5. 删除操作

先搜索目标结点,可能会遇到三种情况,如下:
Case 1:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)
Case 2:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)
Case 3:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)【数据结构】—— chapter 05 树与二叉树的应用 (part4)

6. 查询效率分析

【数据结构】—— chapter 05 树与二叉树的应用 (part4)
【数据结构】—— chapter 05 树与二叉树的应用 (part4)

7. 小结

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

5.5.2 平衡二叉树(AVL)

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

1. 定义

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

2. 插入操作

【数据结构】—— chapter 05 树与二叉树的应用 (part4)【数据结构】—— chapter 05 树与二叉树的应用 (part4)

3. 插入新结点后如何调整"不平衡"问题

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

(1)LL型:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)
(2)RR型:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)
(3)代码思路:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)
(4)LR型:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)【数据结构】—— chapter 05 树与二叉树的应用 (part4)
(5)RL型:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)【数据结构】—— chapter 05 树与二叉树的应用 (part4)
(6)小结:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)
(7)练习:
【数据结构】—— chapter 05 树与二叉树的应用 (part4)【数据结构】—— chapter 05 树与二叉树的应用 (part4)【数据结构】—— chapter 05 树与二叉树的应用 (part4)

4. 查找效率分析

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

5. 小结

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

5.5.3 哈夫曼树

1. 带权路径长度

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

2. 哈夫曼树的定义

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

3. 哈夫曼树的构造

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

4. 哈夫曼编码

【数据结构】—— chapter 05 树与二叉树的应用 (part4)

5. 小结

【数据结构】—— chapter 05 树与二叉树的应用 (part4)