marquee
  • 2018上半年将更新数据库、C++、计算机组成原理、操作系统等文章,谢谢关注~
  • 由于算法限制,搜索时注意简化关键字,谢谢支持~
  • 网站不兼容IE5.0及以下,请使用主流浏览器访问.
  • 试用搜索、标签、分类目录功能发现更多。
  • 英文字母信息熵与冗余度计算Python实现

    26个英文字母在平均出现时的信息熵是4.7BIT,而去掉冗余度后的英文字母的信息熵是4.03BIT。

    公式: H(信息熵) = -∑ Pi log2(Pi); Pi:为每个字母在信息中出现的概率; 计算公式并不复杂. 取以2为底的对数的道理也很简单,因为如果: 2n = X 的话,那么logX = n; 所以可以看出所谓信息熵就二进制的字符集在去掉冗余度后的二进制编码位数.冗余度是通过统计每个字符出现概率获得的。

    各个字母英语中出现的频率

    字母
    英语中出现的频率
    a
    8.167%
    b
    1.492%
    c
    2.782%
    d
    4.253%
    e
    12.702%
    f
    2.228%
    g
    2.015%
    h
    6.094%
    i
    6.966%
    j
    0.153%
    k
    0.772%
    l
    4.025%
    m
    2.406%
    n
    6.749%
    o
    7.507%
    p
    1.929%
    q
    0.095%
    r
    5.987%
    s
    6.327%
    t
    9.056%
    u
    2.758%
    v
    0.978%
    w
    2.360%
    x
    0.150%
    y
    1.974%
    z
    0.074%

    python代码实现:

    结果

    读者评分
    [评分人数: 1 平均分: 5]

    评论

    OmegaXYZ