Python 实现哈夫曼树和哈夫曼编码

同时,也欢迎关注我的微信公众号 AlwaysBeta,更多精彩内容等你来。

Python 实现哈夫曼树和哈夫曼编码_第1张图片

关于哈夫曼树的定义、构建以及哈夫曼编码,可以参考《大话数据结构》这本书,也可以看这篇博客,写的也很清楚。

下面主要来看一下哈夫曼树的 Python 实现:

#!/usr/bin/env python

-- coding: utf-8 --

统计字符出现频率,生成映射表

def count_frequency(text):

chars = []

ret = []

for char in text:

if char in chars:

continue

else:

chars.append(char)

ret.append((char, text.count(char)))

return ret

节点类

class Node:

def init(self, frequency):

self.left = None

self.right = None

self.father = None

self.frequency = frequency

def is_left(self):

return

你可能感兴趣的:(程序员,python,开发语言)