zoukankan      html  css  js  c++  java
  • 采用霍夫曼编码(Huffman)画出字符串各字符编码的过程并求出各字符编码 --多媒体技术与应用

    题目:有一个字符串:cabcedeacacdeddaaaba,问题:
    (1)采用霍夫曼编码画出编码的过程,并写出各字符的编码
    (2)根据求得的编码,求得各编码需要的总位数
    (3)求出整个字符串总编码长度,并计算出字符串位数在编码前与编码后的比值

    解答:
    (1)各字符出现频率统计如下表所示。

    符号 出现次数 出现频率
    a 7 0.35
    b 2 0.1
    c 4 0.2
    d 4 0.2
    e 3 0.15

    编码过程如下图所示:
    在这里插入图片描述
    各字符编码如下表所示:

    符号 编码(码字)
    a 11
    b 100
    c 00
    d 01
    e 101

    (2)由(1)可进一步知道字符编码的码长和需要的位数

    符号 符号出现次数 概率 编码(码字) 码长 需要的位数
    a 7 0.35 11 2 14
    b 2 0.1 100 3 6
    c 4 0.2 00 2 8
    d 4 0.2 01 2 8
    e 3 0.15 101 3 9

    根据求得的编码,求得各编码需要的总位数是:45位(14+6+8+8+9=45)。
    (3)字符串总编码长度:60bit(20 x 3 = 60)。
    编码前与编码后的比值:4/3(编码前是60,编码后是45)

  • 相关阅读:
    熟悉常用的Linux操作
    Hadoop综合大作业
    理解MapReduce
    熟悉常用的Hbase操作
    第三章 熟悉常用的HDFS操作
    爬虫大作业
    数据结构化与保存
    爬取校园新闻首页的新闻
    网络爬虫基础练习
    综合练习:词频统计
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/10994932.html
Copyright © 2011-2022 走看看