我正在尝试在 python 中实现二叉搜索树操作。到目前为止,我已经编写了一些代码来将节点添加到这个搜索树(排序)。这是我的代码中的内容:
class TreeNode:
    def __init__(self, data):
        self.data = data
        self.lLink = None
        self.rLink = None
class BinaryTree:
    def __init__(self):
        self.root = None
    def AddNode(self, data):
        if self.root is None:
            self.root = TreeNode(data)
        else:
            if data < self.root.data:
                if self.root.lLink is None:
                    self.root.lLink = TreeNode(data)
                else:
                    AddNode(self.root.lLink, data)
            else:
                if self.root.rLink is None:
                    self.root.rLink = TreeNode(data)
                else:
                    AddNode(self.root.rLink, data)
    def InOrder(self, head):
        if self.root.lLink is not None:
            InOrder(self.root.lLink)
        print self.root.data,
        if self.root.rLink is not None:
            InOrder(self.root.rLink)
    myTree = BinaryTree()
    myTree.AddNode(15)
    myTree.AddNode(18)
    myTree.AddNode(14)
如何测试我的AddNode()方法是否正确?我知道算法,但只是为了确定。我想到的是创建一个 InOrder() 方法并尝试通过这个 InOrder 遍历打印元素。因此,我添加到树中的数据应按排序顺序显示。如果它按排序顺序显示,我将确保我的 AddNode() 和 InOrder() 方法都是正确的。