在python3.x中构建和遍历哈夫曼代码树

在python3.x中构建和遍历哈夫曼代码树,python,tree,python-3.3,Python,Tree,Python 3.3,我正在研究与哈夫曼编码有关的东西。我试图使用一个输入文件的堆创建一个哈夫曼代码树,我们称它为counts.txt。我负责读取该文件并存储包含两个整数的元组列表,称为频率 频率 [(int, int), (int, int), (int, int), (int, int), (int, int), (int, int)] 但时间要长得多。我从来没有建立过哈夫曼代码树,所以我进入了一个新的领域,我看过哈夫曼代码,但它压倒了我。我已经尝试了一些方法来构建这棵树,然后我将尝试遍历它,但我不确定我做错了

我正在研究与哈夫曼编码有关的东西。我试图使用一个输入文件的堆创建一个哈夫曼代码树,我们称它为counts.txt。我负责读取该文件并存储包含两个整数的元组列表,称为频率

频率

[(int, int), (int, int), (int, int), (int, int), (int, int), (int, int)]
但时间要长得多。我从来没有建立过哈夫曼代码树,所以我进入了一个新的领域,我看过哈夫曼代码,但它压倒了我。我已经尝试了一些方法来构建这棵树,然后我将尝试遍历它,但我不确定我做错了什么。这是我现在所拥有的,我相信错误就在这里,因为这是我不太理解的部分:


您如何构建并查看哈夫曼树,以便查看/调试它?我做错了什么?就像我说的,我以前从来没有真正使用过哈夫曼代码树,也没有真正为此构建过任何树,所以我承认我是一个完全的新手。如果有人能帮我找到正确的方向,或者对我这里的这些令人生畏的乱七八糟的代码提供第二种意见,我将不胜感激。

坚持下去:-)哈夫曼树很酷,概念上也很简单,但构建哈夫曼树的算法不是很明显(无论如何,对我来说)。一些可能有帮助的链接:,尤其是。@Cameron那是java吗?python也是这样吗?它是C。算法独立于语言,但代码肯定与python不兼容。@Cameron关于我的代码,你认为我应该用不同的方式实现它吗?我不熟悉C。