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()