資源簡介
使用python編寫的一套代碼,可以實現隨機文本生成,字符串字符統計還有哈夫曼編碼??梢赞D換哈夫曼編碼到010101,然后解碼生成字符串
代碼片段和文件信息
#Huffman?Encoding
#Tree-Node?Type
import?random
class?Node:
????def?__init__(selffreq):
????????self.left?=?None
????????self.right?=?None
????????self.father?=?None
????????self.freq?=?freq
????def?isLeft(self):
????????return?self.father.left?==?self
#create?nodes創建葉子節點
def?createNodes(freqs):
????return?[Node(freq)?for?freq?in?freqs]
#create?Huffman-Tree創建Huffman樹
def?createHuffmanTree(nodes):
????queue?=?nodes[:]
????print(queue)?#一個個node的地址
????#每次對queue進行排序,
????while?len(queue)?>?1:
????????queue.sort(key=lambda?item:item.freq)?#reverse?=?false
????????node_left?=?queue.pop(0)
????????node_right?=?queue.pop(0)
????????node_father?=?Node(node_left.freq?+?node_right.freq)
????????node_father.left?=?node_left
????????node_father.right?=?node_right
?
評論
共有 條評論