1、前缀码:
前缀编码:
如果在一个编码方案中,任何一个编码都不是其他任何编码的前缀(最左子串),则称该编码是前缀编码。
如上图,不等长编码方案1是前缀编码;
分析如下:
在不等长编码方案1中,a,b,c,d为四个字符,其对应编码0,10,110,111中,任意一个编码(四个里面随便选)都不是其他任何编码的前缀,比如选择a的编码0进行比对,你会发现 10,110,111都不以0为前缀(都不以0开头)。
如上图,不等长编码方案2不是前缀编码;
分析如下:
四个编码中,随便选一个,如果选0,会发现01,010都是以0为前缀,所以不符合前缀编码的定义,分析结束。
不知道大家有没有隐约有种意识,等长编码一定是前缀编码!
例如两位编码,00,01,10,11就是,同理,三位、四位...n位。
2、二叉树和数的存储结构
二叉树:1、顺序存储结构 2、链式存储结构
树: 1、双亲表示 2、孩子表示 3、孩子兄弟表示