Python实现霍夫曼树
霍夫曼树是一种特殊的二叉树,是一种带权路径长度最短的二叉树,又称为最优二叉树。
给定 N 个权值作为二叉树的 N 个叶节点的权值,构造一棵二叉树,若该二叉树的带权路径长度达到最小,则称该二叉树为霍夫曼树。
霍夫曼树中权值越大的节点离根越近。
霍夫曼树主要应用于信息编码和数据压缩领域,是现代压缩算法的基础。
一、霍夫曼树的相关术语
霍夫曼树要满足带权路径长度最小,那就要知道什么是权值?什么是路径?什么是带权路径长度?
1. 路径
在一棵树中,从一个节点往下可以到达子节点或