1 ImportRandom2 #Defining Nodes3 classNode:4 def __init__(self,weight=0,left=none,right=None):5self.weight=Weight6self.left= Left7self.right= Right8 #sort by weighted value9 defsort (list):Ten returnSorted (list,key=Lambdanode:node.weight) One #Building Huffman Tree A defHuffman (list): - whileLen (list)!=1: -A,b=list[0],list[1] thenew=Node () -new.weight=a.weight+B.weight -new.left,new.right=A, b - List.remove (a) + List.remove (b) - list.append (new) +list=sort (list) A returnList at #Middle Sequence Traversal - defTraval (first): - ifFirst==none:return - traval (first.left) - PrintFirst.weight - traval (first.right) in #get the length of the tree - defget_height (node): to ifNode.left==none andNode.right==none:return1 + returnGet_height (Node.left) +get_height (node.right) - the #list=[] * # $ #For i in range (1,11):Panax Notoginseng #List.append (Node (i)) - # the #list=sort (list) + # A # the #Head=huffman (list) [0] + #Print (Get_height (head))
Python Concise Build Huffman Tree