zoukankan      html  css  js  c++  java
  • 第一次作业

    课后习题:

    1-1   数据压缩的一个基本问题是“我们要压缩什么”,对此你是怎样理解的?

             数据压缩,就是以最少的数码表示信源所发的信号,减少容纳给定的信息集合或数据采样集合的信号空间(物理空间、时间区间、电磁频段)。

    1-2   数据压缩的另一个基本问题是“为什么进行压缩”,对此你又是如何理解的?

            数据压缩是指在不丢失信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率的一种技术方法。

    在有限的网络带宽,载体容量的前提下,直接使用未压缩的多媒体数据显得有点力不从心.虽然现在很多人都喜欢无损的东西。

    压缩就是牺牲一定的质量而减少了数据的体积。

    1-6  数据压缩技术是如何进行分类的?

            数据压缩,通俗地说,就是用最少的数码来表示信号。 其作用是:能较快地传输各种信号,如传真、Modem通信等; 数据压缩的分类方法繁多,尚未统一。但是,一般可以将数据压缩方法分为两大类:第一类是无损压缩,第二类是有损压缩。无损压缩:即就是指的在无损压缩技术中不存在信息损失,数据经过无损压缩后可以从压缩数据中准确地恢复出原数据,所以又叫做可逆压缩;有损压缩:就是指的在有损压缩技术中会造成一些信息损失,采用有损技术压缩后的数据不能再准确还原或重构,所以又叫做不可逆压缩。

    参考书:1.4

    1.在同一电脑上压缩不同类型的文件,有的大小变化是不大的,但有的会变得很小,所以,不同文件的压缩比率是不同的。

    2.所谓冗余度,就是从安全角度考虑多余的一个量,这个量就是为了保障仪器、设备或某项工作在非正常情况下也能正常运转。

    正因为是多余的一个量,才能对本文本进行压缩,而且压缩后不会影响其的信息传递。不同的信息有不同的冗余度,或许有的大,有的小,所以说我们是不能对摘自不同来源的文字做冗余度定量论述的

    3.给定符号集A={a1,a2,a3,a4},求以下条件下的一阶熵:

    (a)P(a1)=P(a2)=P(a3)=P(a4)=1/4

    (b)P(a1)=1/2 , P(a2)=1/4 , P(a3)=P(a4)=1/8 

    (c)P(a1)=0.505 ,  P(a2)=1/4 , P(a3)=1/8 , P(a4)=0.12 

    解:

    (a)  P(a1)=P(a2)=P(a3)=P(a4)=1/4

          H=(-1/4*log21/4)*4

            =2(bits)

    (b)  P(a1)=1/2 ,P(a2)=1/4,P(a3)=P(a4)=1/8

           H=-1/2*log21/2-1/4*log21/4-1/8*log21/8-1/8*log21/8

             =7/4=1.75(bits)

    (c)  P(a1)=0.505 ,P(a2)=1/4,P(a3) =1/8, P(a4) =0.12

          H=-0.505*log20.505-1/4*log21/4-1/8*log21/8-0.12*log20.12

             =-0.505*log20.505+1/2+3/8-0.12*log20.12

              =1.75(bits)

    5.P(A)=21/84=1/4,

       P(T)=23/84,

       P(G)=16/84=4/21,

       P(C)=24/84=2/7.

    (a)H=-1/4*log21/4-23/84*log223/84-4/21*log24/21-2/7*log22/7

       =1/2+0.52+0.46+0.52

       =2(bits)

     7 代码如下:

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
        char a[26];
        int i=0,j,t;
        srand(time(NULL));
        for(i=0;i<26;i++)
        {
            a[i]=i+97;
        }
        for(i=0;i<100;i++)
        {
                for(j=0;j<4;j++)
                {
                    t=rand()%26;
                    printf("%c",a[t]);
                }
                printf("		");
        }
    
    }



  • 相关阅读:
    SpringMVC的ServletContext、根上下文和MVC上下文上分别有什么东西?
    HTTP2密码组黑名单
    How to create a self-signed SSL Certificate ...
    oracle数据库的数据字典视图,数据来自哪个(些)表?
    关于GnuPG的subkey(子密钥)的使用
    签名别人的公钥以及验证签名的公钥
    GnuPG高级指导(6)在其他电脑上启用“我的密钥”
    Spring框架Controller层(表现层)针对方法参数是Bean时HttpServletRequest绑定参数值问题解释
    Mysql only_full_group_by以及其他关于sql_mode原因报错详细解决方案
    Maven生成可以直接运行的jar包的多种方式
  • 原文地址:https://www.cnblogs.com/GZNU-XUJUAN/p/4759944.html
Copyright © 2011-2022 走看看