日撸代码300行学习笔记 Day 29

目录
1.前言
2.Huffman 编码 (建树)
3.字母表的映射构造
Step 1-2:初始化等数据准备工作
Step 3:建立各种数组
3.构建哈夫曼树
Step 1-2:申请空间以及初始化节点
Step 3:构建树
4.总结

1.前言
在之前的学习中,主要实现了哈夫曼树节点的构造以及数据文本的写入,今日继续对哈夫曼树的构造进行学习。
2.Huffman 编码 (建树)
在哈夫曼树的构造原理中,最核心的观点就是:所有叶子结点的带权路径长度之和最小。
然后根据这一原理,我们要将算法详细讲解为这种:

我们应该尽可能地让权值大的叶子结点靠近根结点,让权值小的叶子结点远离根结点

今日的主要代码部分为:字母表的映射构造,哈夫曼树的构造。
3.字母表的映射构造
Step 1-2:初始化等数据准备工作
public void constructAlphabet() {
// Initialize.
Arrays.fill(charMapping, -1);

// The count

日撸代码300行学习笔记 Day 29最先出现在Python成神之路

版权声明:
作者:感冒的梵高
链接:https://www.techfm.club/p/27955.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>