用python实现Huffman编码

本文介绍了如何使用Python实现Huffman编码,包括核心编码算法、计算平均长度和编码效率。尽管不同实现可能导致具体符号的编码结果有所不同,但平均长度和效率值保持一致。
摘要由CSDN通过智能技术生成

用python实现Huffman编码,以下的代码分为两个模块,一个为功能模块newHuffman.py,一个为控制模块demo.py。


newHuffman.py,这个模块主要实现的功能包括:

①核心为实现Huffman编码,

②计算Huffman编码的平均长度

③计算编码 的编码效率。


代码如下:

#encoding:utf-8
import numpy as np
from codetools.util.cbook import Null


class HuffmanCell():
    name = ""
    value = 0
    code = ""
    left=Null
    right=Null
    encodingLength=0
    def __init__(self,name="",value=0):
        self.name = name
        self.value = value
class Huffman():
    result=[]
    informationSource=[]#信息源列表
    def __init__(self):
        pass
#         self.initArr()
#          
#     def initArr(self):
#         self.addname("a",0.3)
#         self.addname("b",0.2)
#         self.addname("c",0.15)
#         self.addname("d",0.15)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值