数据结构学习笔记五:树和二叉树
来源:互联网 发布:红米note3网络设置 编辑:程序博客网 时间:2024/05/17 01:33
一、树
1、树:是n个结点的有限集
2、根:有且仅有一个
3、子树
4、结点
5、度:结点拥有的子树数
6、叶子或者终端结点:度为0的结点
7、非终端结点或分支结点:度不为0的结点
8、孩子、双亲、兄弟、子孙、堂兄弟
9、层次:从根开始定义起,根为第一层,根的孩子为第二层
10、树的深度:树中的结点的最大层次
11、有序树、无序树
二、森林
三、二叉树
1、二叉树:每个结点至多只有两棵子树,并且二叉树的子树有左右之分
2、二叉树的5种基本形态(空二叉树)|(仅有根结点的二叉树)|(右子树为空的二叉树)|(左、右子树均非为
空的二叉树)|(左子树为空的二叉树)
3、二叉树的三个性质
4、满二叉树、完全二叉树
5、完全二叉树的性质
6、树的存储结构:顺序存储结构、二叉链表、三叉链表、线索链表
1)顺序存储结构
a)完全二叉树和一般二叉树的顺序存储结构表示
b)在最坏情况下,一个深度为k且只有k个结点的二叉树需要的存储单元?
2)二叉树和三叉树的存储结构
a)二叉树:数据域、左指针域、右指针域(图6.8)
b)三叉树:数据域、左指针域、右指针域、双亲指针域(图6.8)
四、遍历二叉树
1、先序(根)排序(实现?)
2、中序(根)排序(实现?)
3、后序(根)排序(实现?)
4、表达式a+b*(c-d)-e/f (前缀表达式|中缀表达式|后缀表达式)
5、【算法】二叉树的中序非递归遍历算法
6、【算法】二叉树的层序遍历算法
7、【算法】建立二叉树算法
8、遍历算法的时间复杂度和空间复杂度
五、线索二叉树
1、线索二叉树的存储结构
2、线索化:对二叉树以某种次序遍历使其变为线索二叉树的过程
3、如何在线索树中找结点的后继?(中序线索树?)(后序线索树?)
4、线索二叉树的存储结构
5、【算法】以双向线索链表为存储结构时对二叉树进行遍历算法
6、【算法】二叉树的线索化
六、树
1、树的存储结构:双亲表示法、孩子表示法、孩子兄弟表示法
2、树的双亲表示法(图6.13)
3、孩子表示法(图6.14孩子链表|带双亲的孩子链表)
4、孩子兄弟表示法(图6.15)
5、森林与二叉树的转换(图6.16)|(图6.17)
6、树和森林的遍历
1)树的先根遍历、树的后根遍历
2)森林的先序遍历、森林的中序遍历
7、森林的先序和中序遍历即为对应的二叉树的先序和中序遍历
七、树与等价问题
八、huffman树及其应用
1、树的路径长度
2、树的带权路径长度
3、最优二叉树或者哈夫曼树:带权路径长度最小
4、如何构造哈夫曼树
5、哈夫曼树编码(实现?)(例6.2)
九、回溯法与树的遍历
十、树的计数
1、含有n个结点的不相似的二叉树有多少课
2、例6-5
- 数据结构学习笔记五:树和二叉树
- 数据结构学习五:二叉树
- 数据结构学习笔记(五)二叉树及其C++实现
- 数据结构学习笔记:二叉树
- 数据结构学习笔记 --- 二叉树
- 数据结构学习笔记:二叉树
- 数据结构学习笔记 --- 二叉树
- 数据结构学习笔记:二叉树
- 数据结构 学习笔记(五):树(中):二叉搜索树,平衡二叉树
- 《数据结构》实验五 树和二叉树
- 数据结构实验五:树和二叉树
- 严蔚敏数据结构学习笔记六.树和二叉树
- 数据结构学习笔记--二叉表达式树
- 数据结构学习笔记 --- 线索二叉树
- 数据结构学习笔记-平衡二叉树实现
- 数据结构学习笔记-线索二叉树
- 数据结构学习笔记之二叉树
- 【学习笔记----数据结构10-二叉树】
- hibernate与mysql映射类型对应表与mysql导入导出
- RAM格式与JPG对比
- tar常用命令
- php面试小结
- 安卓中遇到服务端json返回处理错误
- 数据结构学习笔记五:树和二叉树
- Boost学习笔记(三)------boost::bimap的使用
- 最短路
- socket实现进程间通信
- java环境
- Flex StringValidator验证例子
- 敏捷开发实践(1)-故事工作量估算导致的问题
- C语言指针数组和数组指针
- 如何删除”我的电脑“中的百度云管家图标