《数据结构与算法-Python语言描述》读书笔记(6)第6章二叉树和树(关键词:数据结构/算法/Python/二叉树/树)

写在前面:根据韩浩画的重点,现阶段,树、图以了解逻辑结构、存储方式为主,暂时不要求代码实现。

第6章 二叉树和树

6.1 二叉树:概念和性质

6.1.1 概念和性质

定义和图示
几个基本概念

一个结点子结点个数称为该结点的度数

在二叉树里有些结点两颗子树都空没有子结点。这种结点称为树叶(结点)

路径,结点的层和树的高度
二叉树的性质
满二叉树,扩充二叉树
完全二叉树

《数据结构与算法-Python语言描述》读书笔记(6)第6章二叉树和树(关键词:数据结构/算法/Python/二叉树/树)_第1张图片

6.1.2 抽象数据类型

6.1.3 遍历二叉树

《数据结构与算法-Python语言描述》读书笔记(6)第6章二叉树和树(关键词:数据结构/算法/Python/二叉树/树)_第2张图片

深度优先遍历

(读者:这一小节的先、中、后根序遍历,有点难理解,建议仔细看书。)

《数据结构与算法-Python语言描述》读书笔记(6)第6章二叉树和树(关键词:数据结构/算法/Python/二叉树/树)_第3张图片

宽度优先遍历
遍历与搜索

(读者:这一小节没有仔细读。)

6.2 二叉树的list实现

6.2.1 设计和实现

6.2.2 二叉树的简单应用:表达树

二元表达式和二叉树
构造表达式
表达式求值
扩充

6.2.3 二叉树的简单应用:表达式树

6.3 优先队列

一种重要的缓存结构优先队列

6.3.1 概念

6.3.2 基于线性表的实现

有关实现方法的考虑
基于list实现优先队列
对连续表实现的分析

6.3.3 树形结构和堆

线性和树形结构
堆及其性质
堆与优先队列

6.3.4 优先队列的堆实现

插入元素和向上筛选
弹出元素和向下筛选
基于堆的优先队列类
构建操作的复杂性

6.3.5 堆的应用:堆排序

6.4 应用:离散事件模拟

6.4.1 通用的模拟框架

6.4.2 海关检查站模拟系统

模拟类
事件类
实际模拟

6.5 二叉树的类实现

6.5.1 二叉树的类实现

6.5.2 遍历算法

递归定义的遍历函数
宽度优先遍历
非递归的先根序遍历函数
通过生成器函数遍历
非递归的后根序遍历算法
非递归的遍历

6.5.3 二叉树类

6.6 哈夫曼树

6.6.1 哈夫曼树和哈夫曼算法

哈夫曼树
构造哈夫曼树的算法

6.6.2 哈夫曼算法的实现

6.6.3 哈夫曼编码

6.7 树和树林

6.7.1 实例和表示

6.7.2 定义和相关概念

6.7.3 抽象数据类型和操作

6.7.4 树的实现

6.7.5 树的Python实现

本章总结

练习

参考文献:
1.《数据结构与算法-Python语言描述》。

你可能感兴趣的:(数据结构与算法,Python)