LZW算法的核心思想是什么?
1个回答
展开全部
读下一个输入字符K;
if 没有这样的K(输入已穷尽):
码字(ω) 输出;结束。
If ωK 已存在于串表中:
ω:=ωK;repeat Step;
else ωK不在于串表中:
码字(ω) 输出;
ωK加进串表;
ω:=K;repeat
我做的例子:
input:ababcbababaaaaaaa
ω:a->ab->ba->ab->4c->cb->ba->5b->8a->aa->aa->10a->aa->11a->a#->#
串表:1(a) 2(b) 3(c) 4(ab) 5(ba) 6(4c) 7(cb) 8(5b) 9(8a) 10(aa) 11(10a) 12(11,a)
output:a b 4 c 5 8 a 10 11 a
if 没有这样的K(输入已穷尽):
码字(ω) 输出;结束。
If ωK 已存在于串表中:
ω:=ωK;repeat Step;
else ωK不在于串表中:
码字(ω) 输出;
ωK加进串表;
ω:=K;repeat
我做的例子:
input:ababcbababaaaaaaa
ω:a->ab->ba->ab->4c->cb->ba->5b->8a->aa->aa->10a->aa->11a->a#->#
串表:1(a) 2(b) 3(c) 4(ab) 5(ba) 6(4c) 7(cb) 8(5b) 9(8a) 10(aa) 11(10a) 12(11,a)
output:a b 4 c 5 8 a 10 11 a
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询