python实现huffman编码代码
主要思想是:
1.定义树节点结构体
2.将每个单词以及其对应的权值装载为树节点
3.将树节点升序排序,每次选出最小的两个节点,合并为一个节点。再将此节点放回节点列表。
4.重复步骤3,直到节点列表只剩一个节点,也就是huffman树的根节点
5.将树遍历,遇到叶子节点就输出它的编码
class Node:
# 定义一个结构体,表示树的节点
def __init__(self, name, weight, left=None, right=None, father=None):
self.name = name
self.weight = weight
self.left = left
self.right = right
self.father = father
# 判断是否是左孩子
def is_left(self)