第六章主题:压缩编程——考虑数据大小和i/o加速之间的关系
压缩的基础
压缩就是分析符号的出现频率,用短编码标记频繁出现的符号,用长编码标记其余的符号。也就是说,根据符号出现概率的概率分布生成最佳编码。这就是最根本的压缩理论。
例如,有的算法首先从头开始分析各个文字符号的出现频率,求出概率分布之后,再据此生成最佳符号,如哈夫曼编码等。
第17课 可变字节码和速度的感觉
可变字节码中,各字节的8比特的最高位1 比特为标志位,因此表示整数的只有7比特。第一字节的低7比特表示0-127,高位字节表示128 X (1-127),用可变字节码编码后,像5 这种小数字只需一个字节就可以编码。原来4 个字节变成了1 个字节。130 也只需两个字节。这样,值越小,所需的字节数也越少,这就是可变字节码。
用“差”存储已排序的整数
计算单调增加的整数序列的差,再编码成可变字节码,这就是整数序列的压缩方法。
第18课 实战部分(有用到Perl,待补充)