一、介绍
赫夫曼树可以用来优化算法,减少运行次数;还可以用于电报编码。
二、优化算法
对于我们嵌套的if语句,通常我们需要判断多次if。但是if里表达式的顺序与程序运行速度有很大关系。如果我们把频率高的if条件放在前面的话就能够避免多次检测false的if语句。
算法思想:
三、赫夫曼编码
赫夫曼树结点每向下一层只有两个度,对应于0-1情况。从根结点走到叶子结点只有一条路径,而且不使用非终端结点(分支结点)。从而保证编码的唯一性。如果使用了分支结点,显然就会导致编码的歧义。
使用赫尔曼树实现的字典升序:
如上图从左到右叶子节点实现了字典升序。000<001<01<10<11。