24

严蔚敏视屏 笔记24

如何构造最优树
以二叉树为例:
1)根据给定的n个权值构造n棵二叉树的集合F,其中每棵二叉树中均只含一个带权值为wi的根结点,其左右子树为空树
2)在F中选取其根结点的权值为最小的两棵二叉树,分别作为左右子树构造一棵新的二叉树并置这棵新的二叉树根结点的权值为其左右子树根结点的权值之和
3)从F中删去这两棵二叉树,同时加入刚生成的新树
4)重复(2)(3)两步直至F中只含有一棵树为止

前缀编码
任何一个字符的编码都不是同一字符集中另一字符的编码的前缀

等长码 字符出现概率相同的话合适
不等长码 翻译时可能产生二义性 所以规定任何一码不为其他码的前缀

哈夫曼编码是一种最优前缀编码 左子树取0右子树取1

本章小结:
1.
熟练掌握二叉树的结构特性,了解相应证明方法
2.
熟悉二叉树的各种存储结构的结构特点及适用范围
3.
掌握各种遍历策略的递归和非递归算法,灵活运用遍历算法实现二叉树的其他操作,层次遍历是按另一种搜索策略进行的遍历
4.
理解二叉树线索化的实质是建立结点与其在相应序列中的前驱或后继之间的直接联系,熟练掌握二叉树的线索化过程
5.
熟悉树的各种存储结构及其特点,掌握树和森林与二叉树的转换方法
6.
学会编写实现树的各种操作的算法
7.
了解最优树的特性,掌握建立最优树和哈夫曼编码的方法

建议练习题:
6.12 6.19 6.20 6.22 6.24

 

第七章 图
7.1 抽象数据类型图的定义
ADT Graph {
   
数据对象VV是具有相同特性的数据元素的集合,称为顶点集
   
数据关系RR={VR}
               VR={<v,w>|v,w∈V
P(v,w),<v,w>表示从vw的弧,谓词P(v,w)定义了弧<v,w>的意义或信息}

}

弧头 顶点v
弧尾 顶点
w
<v,w>表示从顶点v到顶点w的一条弧

有向图 由顶点集和弧集构成的图

(v,w)为顶点v和顶点w之间存在的一条边
无向图 由顶点集和边集构成的图

弧或边带权的图分别称作有向网无向网

G=(V,{VR})G'=(V',{VR'}),且V'属于VVR'属于VR
G'G子图

图中有n个顶点,e条边
完全图 含有e=n(n-1)/2条边的无向图
含有e=n(n-1)条弧的有向图称为完全有向图
稀疏图
若边或弧的个数e<nlogn
稠密图 若边或弧的个数e>=nlogn

若顶点vw之间存在一条边则vw互为邻接点,边(v,w)和顶点vw关联
和顶点v关联的边的数目定义为边的
对有向图来说分为出度和入度,度(TD=出度OD+入度ID

路径 两顶点之间存在一顶点序列每相邻两顶点之间一定有一条边
路径长度 路径上边的数目
简单路径 序列中的顶点不重复出现
简单回路 若两顶点重合(u=w

连通图 图中任意两顶点之间都有路径相通
连通分量 若无向图为非连通图,则图中各个极大连通子图称作连通分量

强连通图 有向图任意两个顶点之间都存在一条有向路径
否则各个强连通子图称作其强连通分量

生成树 连通图的极小连通子图
生成森林 非连通图的各个连通分量的生成树集合

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值