def __construct_trie(self): queue = PriorityQueue.heapify([Huffman.Node(k, v) for (k, v) in self.frequencies.items()]) self.num_tries_nodes = queue.size() while queue.size() > 1: x = queue.del_min() y = queue.del_min() parent = Huffman.Node(0, x.freq + y.freq, x, y, ) queue.insert(parent) self.num_tries_nodes += 1 self.trie = queue.del_min()