赫夫曼树定义与原理
路径长度:从树中一个结点到另一个结点之间的分支构成两个节点之间的路径,路径上的分支数目
树的路径长度:从树根到每一结点的路径长度之和
赫夫曼树:带权路径长度WPL最小的二叉树
赫夫曼编码
目的:解决远距离通信的数据传输的最优化问题
随着字符的增加和多字符权重的不同,压缩会更加显出优势
若要设计长短不等的编码,则必须是任意字符的编码都不是另一个字符的编码的前缀,这种编码称作前缀编码。
解码也要用到赫夫曼树,即发送方和接收方约定好同样的赫夫曼编码规则。
树总结回顾
树的定义
递归在树定义中的应用
子树结点 度 叶子 分支结点 双亲 孩子 层次 深度 森林
树的存储结构顺序存储 链式存储
双亲表示法
孩子表示法
孩子兄弟表示法 —— 二叉树
二叉树:斜树满二叉树 完全二叉树
遍历二叉树:前序中序 后序 层序遍历
二叉树的建立——递归
线索二叉树——给二叉树的结点查找和遍历带来了高效率
树,森林,二叉树的互相转换
二叉树的应用——赫夫曼树和赫夫曼编码(数据压缩的原理,无损编码无错解码)