理解LZW解压算法的一个例子
Understanding an example of LZW decompression algorithm
我正在尝试理解这个使用 LZW 算法解压的例子。
我想不明白为什么我们在第 4 行插入 ba
;我们目前在 i=3
,因此索引 s=ab
如第 3 行所示;我们之前有 a
和 b
那么我们不应该在字典中查找 abab
吗?那么为什么结果是ba
而不是abba
呢?
来自维基百科英文版:"Buffer input characters in a sequence ω until ω + next character is not in the dictionary. Emit the code for ω, and add ω + next character to the dictionary. Start buffering again with the next character."
我正在尝试理解这个使用 LZW 算法解压的例子。
我想不明白为什么我们在第 4 行插入 ba
;我们目前在 i=3
,因此索引 s=ab
如第 3 行所示;我们之前有 a
和 b
那么我们不应该在字典中查找 abab
吗?那么为什么结果是ba
而不是abba
呢?
来自维基百科英文版:"Buffer input characters in a sequence ω until ω + next character is not in the dictionary. Emit the code for ω, and add ω + next character to the dictionary. Start buffering again with the next character."