【发布时间】:2022-01-18 19:16:50
【问题描述】:
我想在 Python 中实现一个二叉树。我总结了我的代码。我想做的是 用变量 L 设置二叉树的高度。但是,当我实现代码时,似乎代码创建了一个比我预期的更大的二叉树。 我得出这个结论是因为当我将高度设置为 1 并执行 print(node.right.right.right) 时,我仍然得到 1。
class Tree:
def __init__(self,x,left=None,right=None):
self.x=x
self.left=left
self.right=right
def one_tree(self,node):
node=Tree(1)
node.right=Tree(1)
node.left=Tree(1)
return node
node=Tree(1)
node=node.one_tree(node)
L=1
while L>0:
node=node.one_tree(node)
node.left=node
node.right=node
L=L-1
print(node.right.right.right.right)
【问题讨论】:
-
令人困惑。在
while循环中,您创建一个Tree并将其left和right分配给它自己。one_tree()到底应该做什么?