计算之魂吴军电子版(计算之魂电子书下载)

原创 loveyou i  2023-08-22 16:10  计算之魂吴军电子版(计算之魂电子书下载)已关闭评论
摘要:

[db:摘要]

本文节选自《计算之魂》电子版:

//第3章//万物皆编码一一抽象与表示//由然,在现实的世界里,各种信息出现的概率不可能完全按照折半的速度逐个递减,因此编码的效率会略低于香农给出的极限,不过非常接近。1952年,还是麻省理工学院学生的大卫。哈夫曼(DavidHuffman)发明了一种算法,对于已知概率分布的信息,它可以找到一种平均编码长度最短的编码方式。我们用一个具体的例子来说明哈夫曼编码的算法。有八种不同概率的信息,分别用A、B、C、D、E、F、G和开来表示,对应的概率分别是0.1、0.05、0.3、0.2、0.15、0.15、0.03和0.02。现在我们要对它们进行编码,让编码的平均长度最短。步骤1,先将所有的信息按照概率从小到大排序,八种信息和对应的概率关系就是H(0.02)、G(0.03)、B(0.05)、A(0.1)、E(0.15)、F(0.15)、D(0.2)、C(0.3)。步骤2,将概率最小的两种信息也和G合并。然后,将它们合并成一个新的信息HG,概率是005,插入排好序的序列中。当然,在这个例子中,它们还是最头上的两个。接下来,重复步骤2,每次合并概率最小的两组信息,概

计算之魂TXT

率相加后再插回相应的队列中,直到所有的信息合并到一起。经过上述步骤,所有的信息就形成了一个信息合并过程的二叉树,如图3.3所示。当然,为了便于画这棵树,树中的节点,也就是每一个符号,始并没有按照概率的大小次序排列,而是按照有利于表达的方式安排次序的。0预玖而-一0G(003)~-L_j0050B(0.05)人0和1|oa0110.4D(0.2)ct03)一1E(0.15)襄请0图3.3对不等概率信息的哈夫曙编码121//计算之魂1/接下来,我们把左子树(图3.3中的表3.2用哈夫受编码算法给A~也八种信息有编码的结果上坟】厦机二用和作为二到,招村于插全汪二二下生生二盖|(图3.3中的下方)的树干用1作为编码,总0.1001从树根到树叶顺序排列,就得到了对所有已0.310有信息的编码,见表3.2。人本上述编码的平均码长是2.65,比等B0.15110F0.15111长编码要短。根据香农的信息论,上述概率分布的信息和是2.61,也就是说平H0.0200000均编码的长度不可能小于这个值,而哈夫曼编码已经非常接近这个极限了。言息的编码长度和它的信息精之间的差异

计算之魂这本书的内容

被称为信息的允余度。宛余度越高,说明信息编码的效率越低,反之则越高。对信息进行哈夫曼编码后,宛余度近乎为零,而且这种算法非常简单且容易理解,因此它是计算机中最常见的一种压缩算法。3哈夫曼编码之前,需要先统计各种信息的概率分布,但是以什么颗粒度对出现的信息进行统计就有讲究了。比如对汉字文本的压缩,既可以将汉字作为最小的信息单位进行压缩,也可以以词为单位进行,甚至可以颗粒度更大的词组为单位。一篇文章如果按照汉字出现的频率统计,然后用哈夫曼编码进行压缩,通常能压缩掉一半左右的兄余;如果按照词进行频率统计再压缩,可以压缩掉70%以上的元余。不过凡事过犹不及,如果将一个句子作为一个整体进行压缩,由于一篇文章中通常不会有大量重复的句子,因此每一个句子实际上都是等概率的。这种情况下无法进行信息的至于为什么哈夫曼编码是最优化的,说明见本章的附录二。大家需要富记的是,编码的艺术在于“将最好的资源用于最重要之处”。今天,大部分标准的编码算法都有开源代码可以直接使用,如果你只会使用代码库的代码,可能还没有达到五级工程师的水平,因为能够看懂代码是这一级工程师的基本坦122

计算之魂主要内容

计算之魂吴军博士计算之魂笔记
计算之魂作者吴军简介计算之魂txt下载
吴军 计算之魂计算之魂电子书下载

计算之魂吴军电子版(计算之魂电子书下载)综上:计算之魂电子书下载值得推荐阅读

历史上的今天:

文章标签:

特别说明:本站不提供下载,文章采集自网络,如有侵权,联系删除文章

版权声明:计算之魂吴军电子版(计算之魂电子书下载)》,版权归 loveyou i 所有,侵删!
相关文章 关键词:

评论已关闭!