您的位置:首页 > 编程语言 > Go语言

GOOGLE校招的笔试题解析

2015-08-24 15:38 330 查看
据说是GOOGLE校招的笔试题:

用二进制来编码字符串“abcdabaa”,需要能够根据编码,解码回原来的字符串,最少需要多长的二进制字符串?

A.12 B.14 C.18 D.24

答案 B

解法:根据信息论求取该信息熵为:

a:出现概率:4/8,b:出现概率:2/8,c出现概率:1/8,d出现概率1/8

信息熵为:4/8 x log2(8/4) + 2/8 x log2(8/2) + 1/8 x log2(8/1) + 1/8 x log2(8/1) = 1.75

每个字符最少需要1.75个位二进制编码,所以总共需要 1.75*8 = 14 位二进制字符串编码表示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: