1、要有优化意识,前面的 BF,RK 算法已经能够满足我们需求了,为什么发明 BM 算法?是为了减少时间复杂度,但是带来的弊端是,优化代码变得复杂,维护成本变高。
2、需要查找,需要减少时间复杂度,应该想到什么?散列表。
3、如果某个表达式计算开销比较大,又需要频繁的使用怎么办?预处理,并缓存。
4.霍夫曼编码的目的是为了减少编码占用的空间大小,通过让出现频率最高的字符使用最短编码的形式来达成。出现频率高的字符使用较短的编码,出现频率低的字符使用较长的编码,从而保证整体编码最短。
为了避免解压缩过程中的歧义,霍夫曼编码要求各个字符的编码之间,不会出现某个编码是另一个编码前缀的情况。