2.6.3 LZW编码的软件实现 1.字典的设计 “字典”是LZW编码的核心。软件中设计字典的容量是4096个词条,其存放地址由0—4095。 所谓词条并不是语法意义上的单词,而是LZW编码过程中查询输入序列时得到的各个最长匹配字符串。 每个词条在字典中的结构都一样,由两部分构成,第一部分是一个序号n,它指示字典中另一个已经存在的词条的地址,第二部分是一个字符c。这两部分连接起来,就构成了字典中的一个新词条。 地址 词条 i 序号n ,字符c 0 4095, 00H 1 4095, 01H ┇ 4095, 02H ┇ …… 255 4095, FFH 256 n256 , c256 257 n257, c257 ┇ 已添加的词条 i ni , ci i +1 ni+1 , ci+1 ┇ 已添加的词条 p 待添加位置 ┇ 空 4095 字典的结构 初始字典:地址i 0~255。 初始字典中所有词条序号n≡4095,表示是单个字符。而尾字符c ASCII码值,即c i。 已写入部分:地址i 256~ p-1 。地址 i 存放的词条是 ni , ci ,其中ni是小于i 的一个地址值,ci 是下一个词条中序号ni+1所代表字符串首字符。 没写入部分: i≥p以上皆为空地址;地址p指示当前待添加词条的位置。 用结构体变量为字典开辟内
原创力文档

文档评论(0)