题目大意是给出一个字符串,默认每个字符用8位二进制数(ASCII编码)表示,求以前缀不重复编码压缩后表示字符串所需的最少二进制数位数。
题目中介绍的按频率进行前缀不重复编码的压缩思路其实就是哈夫曼编码的思路,因此只需要构建出一颗哈夫曼树,然后计算原字符串节点的WPL(带权路径长度)即可。构建哈夫曼树的算法是:
- 首先把 n 个叶子结点看做 n 棵树(仅有一个结点的二叉树),把它们看做一个森林。
- 在森林中把权值最小和次小的两棵树合并成一棵树,该树根结点的权值是两棵子树权值之和。这时森林中还有 n-1 棵树。
- 重复第2步直到森林中只有一棵为止。此树就是哈夫曼树。
此外如果需要求具体的字符编码(即哈夫曼编码),则在树中令所有左分支取编码为 0 ,令所有右分支取编码为1。将从根结点起到某个叶子结点路径上的各左、右分支的编码顺序排列,就得这个叶子结点所代表的字符的二进制编码。
7794475 IwfWcf 1521 Accepted 756K 16MS G++ 1594B 2010-10-26 23:05:44
hermes birkin, http://www.hermesbirkin.org/
回复删除chanel outlet, http://www.chaneloutletstore.us.com/
nike free uk, http://www.nikefreerunning.org.uk/
ray ban sunglasses, http://www.raybansunglass.com.au/
rolex watches, http://www.rolexwatches.in.net/
ray ban sunglasses, http://www.ray-bansunglasses.eu.com/
yoga pants, http://www.yogapants.us.com/
beats headphones, http://www.beats-headphones.in.net/
michael kors outlet, http://www.michaelkorsusa.us/
pandora jewelry, http://www.pandora.eu.com/
cheap ugg boots, http://www.cheapuggboots.net.co/
air jordan shoes, http://www.airjordanshoes.us.org/
louis vuitton outlet, http://www.louisvuittonus.us.com/
ed hardy clothing, http://www.edhardy.us.com/
replica handbags, http://www.replicahandbag.us.com/
the north face outlet store, http://www.thenorthfaceoutletstores.org/
tiffany jewellery, http://www.tiffanyjewelleryoutlets.co.uk/
lebron james shoes, http://www.lebronjamesshoes.in.net/
gucci handbags, http://www.guccihandbags-outlet.co.uk/
true religion outlet, http://www.truereligionoutletstore.us.com/
swarovski jewelry, http://www.swarovski.in.net/
michael kors outlet, http://michaelkors.outletonlinestores.us.com/
swarovski outlet, http://www.swarovski-outlet.co.uk/
wedding dresses, http://www.weddingdressesoutlet.co.uk/
louis vuitton handbags, http://www.louisvuittonhandbagsoutlet.co.uk/
lebron james shoes, http://www.lebronjames.us.com/
nike trainers, http://www.niketrainers.me.uk/
kobe shoes, http://www.kobeshoes.us/
cheap snapbacks, http://www.cheapsnapbacks.us.com/
1003maoqiuyun
151207meiqing
回复删除oakley sunglasses wholesale
michael kors outlet clearance
ugg australia
chanel bags
michael kors outlet stores
michael kors outlet
michaek kors outlet
prada outlet
canada goose jackets
ugg clearance
ugg outlet
replica watches
louis vuitton outlet
oakley sunglasses
canada goose outlet
kate spade handbags
louis vuitton handbags
abercrombie fitch
uggs on sale
celine
adidas originals
pandora jewelry
ray ban sunglasses outlet
michael kors bag
michael kors outlet online
uggs outlet
gucci shoes
coach outlet store online
ugg boots
cheap jordans
coach outlet
coach outlet
cheap uggs
michaek kors handbags
uggs for sale
supra shoes
uggs australia
ray-ban sunglasses
toms shoes
michael kors outlet online
ralph lauren outlet
回复删除adidas trainers uk
louis vuitton outlet
tory burch outlet online
oakley sunglasses outlet
louis vuitton outlet
canada goose jackets
ray ban clubmaster
louis vuitton handbags
louis vuitton
201612.26chenjinyan
timberland boots
回复删除flip flops
pandora jewelry
adidas slides
ugg australia
asics
marc jacobs
adidas zx
jerseys
swarovski uk
2018.2.28xukaimin
have a peek at this site cheap designer bags replica blog here this contact form blog buy replica bags
回复删除