Esempio n. 1
0
def HUFFMAN(C):
    n = len(C)
    comparetor = lambda Object1, Object2: True if Object1.freq < Object2.freq else False
    CharacterHeap = Heap(C, comparetor, float('inf'))
    for i in range(0, n - 1):
        HuffmanTree = HuffmanNode()
        HuffmanTree.left = CharacterHeap.Heap_Extract_Max_Or_Min()
        print "HuffmanTree.left.freq = ",
        print HuffmanTree.left.freq
        HuffmanTree.right = CharacterHeap.Heap_Extract_Max_Or_Min()
        print "HuffmanTree.right.freq = ",
        print HuffmanTree.right.freq
        HuffmanTree.freq = HuffmanTree.left.freq + HuffmanTree.right.freq
        CharacterHeap.Heap_Insert(HuffmanTree)
    return CharacterHeap.Heap_Extract_Max_Or_Min()