数据结构_2013new介绍.ppt

* * * * * * * * * * * * * * * * 二叉树遍历的应用 应用三:由遍历序列恢复二叉树 思考: 已知二叉树,可以确定其先序序列、中序序列和后序序列,所以遍历序列中包含了二叉树的逻辑信息。 那么,如果已知二叉树的某种遍历序列,是否能够确定这颗二叉树呢?如果能,应该如何做呢? 举例:如果已知某个二叉树的先序遍历结果是{1,2,3},那么它的二叉树应该是什么结构?画画看!! 大纲 算法复杂度 查找与排序 抽象数据类型 – 表、堆栈、队列 二叉树 二叉查找树 哈夫曼编码 哈夫曼编码 性质1:序列中,没有任何一个元素是另外一个元素的前缀 利用扩充二叉树,同时满足性质1,即为哈夫曼编码 哈夫曼树 对于一棵具有外部节点1,……,n的扩充二叉树,对应的编码串长度为 L(i)为从根到外部节点的长度,即路径数。 F(i)为字符i的频率。 对于给定频率,WEP最小,即为哈夫曼树。 哈夫曼编码 获得不同字符的频率 建立哈夫曼树,外部节点用字符串中的字符表示,外部节点的权重为该字符的频率。 遍历从根到外部节点的路径,得到每个字符的编码。 用字符的编码来代替字符串中的字符。 例子 //重点 ababaafffaacdcdcdefefefefff a:6 b:2 c:3 d:3 e:4 f:9 5 a b c f d e 6 2 4 3 3 9 7 11 16

文档评论(0)

1亿VIP精品文档

相关文档