擅长:python、mysql、java
<p>您的<code>BinaryTree</code>类有问题,将插入顺序更改为</p>
<pre><code>myTree.AddNode(14)
myTree.AddNode(18)
myTree.AddNode(15)
</code></pre>
<p>引发错误-<code>NameError: global name 'AddNode' is not defined</code>。在</p>
<p>这是因为在<code>AddNode(self.root.rLink, data)</code>和<code>AddNode(self.root.lLink, data)</code>行中,您似乎在调用<code>TreeNode</code>的实例上的<code>AddNode</code>函数,这是不可能的。我修正了你代码中的一些错误,现在应该可以很好地工作了。在</p>
^{pr2}$
<p>输出测试:</p>
<pre><code>>>> myTree = BinaryTree()
>>> myTree.AddNode(14)
>>> myTree.AddNode(18)
>>> myTree.AddNode(15)
>>> myTree.InOrder()
14 15 18
</code></pre>