编码是计算机中最基础的知识,编码有很多种方式,整数用二进制形式存储,有一种编码叫等长码,每一个字符用asll码来编码,若一篇文章有1000个字符,就是7000位来进行编码。一个字节八位,一个ASCLL码是7位二进制数,一个ascll码在计算机中用一个字节来存储,最高位是。.每个字符在计算机里面都是由一个字节存储,一个字节占八位。
假如有一篇文章里面有58个字符,不重复的有7个字符,现在将文章存入计算机。下面有三种方式去编码
1)用等长ascll编码:58*8=24(bit)
2)用等长2位编码:58*3=6(bit)
3)用变长,三个字符中,出现次数多的编码短一点,出现次数少的编码长一点
变长编码就采用最短编码哈夫曼编码,哈夫曼编码每次采用集合中权重最小的两个组成左右叶子节点,之和为根节点。7个字符为叶子节点,编码后
代价=叶子节点值*树的深度
叶子节点值=每个字符出现的次数
树的深度=编码时比较的次数
字符哈夫曼树左树枝编码为0,右树枝编码为1,每个不同字符的编码为他父节点的树枝拼起来。
哈夫曼树可以用有层次的多条if语句的例子,来体验哈夫曼树的应用 。