二叉树并不都是搜索树,即一个节点的左子树都比它小,右子树都比它大。很多二叉树用于其它情况,例如哈夫曼编码中的二叉树应用。
由于计算机最终要处理的只是01信号,因此需要把字母等信息加以编码实现,例如ASC码,Unicode码等,以10进制的数字来代表某个字符。计算机处理的时候可以把十进制转化为二进制处理。解码按照相反的过程即可。现实中我们希望在一段话中出现次数多的字母用较少位数的二进制表示,以此达到高度压缩数据的目的。Huffman编码具有这样的作用。以下为一个huffman编码的例子: