帮助霍夫曼代码

时间:2011-04-15 00:16:16

标签: python

好吧,我有我的霍夫曼课,似乎工作正常。但是,当我尝试创建我的二叉树时,我继续收到一条错误消息,指出当我的函数名称是编码时,“未定义全局名称编码”。有人可以告诉我为什么吗?下面是我的代码。谢谢

def get_encoding(self):
        # Huff is a previously defined function that generates the tree 
        node=self.Huff()
        dic={}
        if node.char:
            if not self:
                dic[node.char]='0'
            else:
                dic[node.char]=self
        else:
               encoding(self+'0',node.left)
               encoding(self+'1',node.right)

2 个答案:

答案 0 :(得分:1)

看起来你正在尝试对get_encoding进行递归调用,但签名不同,因为定义不带2个参数。您尝试self+'0'self+'1'时可能会遇到问题。

答案 1 :(得分:0)

您的功能名称不是encoding,而是get_encoding