我试图使用递归在二叉搜索树中插入值,但是当我使用中序遍历运行它时,我得到 None 的输出。我尝试查看其他语言实现此功能,我只是尝试复制它,但它不起作用。我将树的根传递给插入函数,如果它不为空,我希望它向左或向右遍历。有人可以告诉我这有什么问题吗?我尝试将 bst.root 转换为 bst.get_root() ,但仍然产生相同的结果。
class Node:
def __init__(self, value):
self.value = value
self.left = None
self.right = None
class BinaryTree:
def __init__(self):
self.root = None
self.size = 0
def get_size(self):
return self.size
def get_root(self):
return self.root
def insert(self, root, value):
if root is None:
root = Node(value)
else:
if value < root.value:
root.left = self.insert(root.left, value)
else:
root.right = self.insert(root.right, value)
return root
def inorder(self, root):
if root == None:
return
else:
self.inorder(root.left)
print(root.value, end=" -> ") …Run Code Online (Sandbox Code Playgroud)