文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>LZW压缩解压算法

LZW压缩解压算法

时间:2008-11-30  来源:niexining


               
            
           

#coding: utf-8
#LZW压缩解压算法
def myzip(ss):
    ss=ss+'#'
    dict0={'a':1,'b':2,'c':3}
    s=ss[0]
    for c in ss[1:]:
        if s+c in dict0:
            s=s+c
        else:
            yield dict0[s]
            dict0[s+c]=len(dict0)+1
            s=c
def myunzip(nn):
    dict1={1:'a',2:'b',3:'c'}
    s=dict1[nn[0]]
    yield s
    for i in nn[1:]:
        if i in dict1:
            yield dict1[i]
            dict1[len(dict1)+1]=s+dict1[i][0]
        else:
            print '$'
            dict1[len(dict1)+1]=s+s[0]
            yield s+s[0]
        s=dict1[i]

sss='abcabcaaabbaacbbacabaaaaaabaaabcccacaaaaacccbaaacaaabbbaaaacaaabbbbb'
out1=[i for i in myzip(sss)]
out2=''.join([i for i in myunzip(out1)])
print '---', sss
print '~~~', out1
print '^^^', out2
               
            
            

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载