uTank-木头
每一个你不满意的现在,都有一个你没有努力的曾经。

【哈夫曼树的定义】

假设有n个权值{w1,w2,...,wn},构造一颗有n个叶子结点的二叉树,每个叶子结点带权Wk,每个叶子的路径长度为Lk,则其中带权路径长度WPL最小的二叉树称做哈夫曼树

【一些定义】

从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度

树的路径长度就是从树根到每一结点的路径长度之和。

如果考虑到带权的结点,结点的带权的路径长度为从结点到树根之间的路径长度与结点上权的乘积。

树的带权路径长度为树中所有叶子结点的带权路径长度之和。

【哈夫曼编码】

一般地,设需要编码的字符集为{d1,d2,...,dn},各个字符在电文中出现的次数或频率集合为{w1,w2,...,wn},以d1,d2,...,dn作为叶子结点,以w1,w2,...,wn作为相应叶子结点的权值来构造一颗哈夫曼树。规定哈夫曼树的左分支代表0,右分支代表1,则从根结点到叶子结点所经过的路径分支组成的0和1序列便为该结点对应字符的编码,这就是哈夫曼编码

posted on 2015-02-12 16:51  uTank  阅读(387)  评论(0编辑  收藏  举报