哈夫曼编码

156 阅读1分钟

权值越大的叶节点越靠近根节点。权值越小的根节点越远离根节点。 哈夫曼编码,主要目的是根据使用频率来最大化节省字符(编码)的存储空间。霍夫曼编码是一种无前缀编码。解码时不会混淆。其主要应用在数据压缩,加密解密等场合。如果考虑到进一步节省存储空间,就应该将出现概率大(占比多)的字符用尽量少的0-1进行编码,也就是更靠近根(节点少),这也就是最优二叉树-哈夫曼树。

本质上是一种贪心的策略。权值大的在上层,权值小的在下层。满足出现频率高的码长短。