变长编码,由于编码长度不同,可能会有歧义问题. 举个例子 对abcdef进行变长编码,假设有如下两种方案 很容易发现,当我们在用编码方式2时,解码会出现问题,例如00110既可以解码成aabba,也可以解码成cfa,解码结果不唯一 所以为了解决这个问题,就提出了前缀码的概念 编码的任意前缀不是其他编码,则解码结果唯一,编码方式可行 总结 前缀码是为了解决变长编码歧义问题提出的概念 参考 算法复习——贪心策略篇之霍夫曼编码_NickHan_cs的博客-CSDN博客