网络查到的演算步骤如下~
步骤一
使用资料源的输入符号集合A中的所有符号字符来建立一本初始的字典,其中每一个符号
被当成字典中的一个字。
步骤二
找出目前待编码资料中和字典的字相同(相匹配)之最长子序列(符号串)。将此匹配子序
列编码,送出一个字段的编码结果[index],其中index:最长匹配子序列在字典中的索
引位置。此匹配子序列与其后的一个符号连结成一个新子序列,将此新序列加入字典中
成为一个新字。
步骤三
重复步骤二直到待编码资料都处理完毕才停止。
我按照上面方法要求【xyx xyx xyx】的LZW编码如下图
http://i.imgur.com/NAhePO7.jpg
但这题的答案是1213434,说明如下~
先作成初始字典:1=x,2=y,3= (空格)
将xyx编码成121,接着再加上空格,成为1213,因为有了空格,我们知道前面的字串
已形成一个单字,故将xyz加到字典内,即4=xyz,故其编码为~1213434
请问~我的作法是不是有问题呢?谢谢