Python 二叉搜索树-存储对父节点的引用
我希望有人能帮助我,我不是编程专家,但我正在使用Python学习和实验二进制树 下面是我的代码,我尝试在节点中存储对节点父节点的引用,但存储它的父节点对叶节点不起作用。在建造树的过程中,有没有办法做到这一点 我还想知道对于给定的节点,是“左”节点还是“右”节点。我认为,由于节点存储在TreeNode.left或TreeNode.right的实例中,我可能能够在Python中获得对它的引用,如在n.\u name\u或类似的内容中。你能告诉我一个节点是左还是右的正确方法吗 我的最终目标是通过级别顺序遍历来可视化我的树Python 二叉搜索树-存储对父节点的引用,python,data-structures,recursive-datastructures,Python,Data Structures,Recursive Datastructures,我希望有人能帮助我,我不是编程专家,但我正在使用Python学习和实验二进制树 下面是我的代码,我尝试在节点中存储对节点父节点的引用,但存储它的父节点对叶节点不起作用。在建造树的过程中,有没有办法做到这一点 我还想知道对于给定的节点,是“左”节点还是“右”节点。我认为,由于节点存储在TreeNode.left或TreeNode.right的实例中,我可能能够在Python中获得对它的引用,如在n.\u name\u或类似的内容中。你能告诉我一个节点是左还是右的正确方法吗 我的最终目标是通过级别顺
class TreeNode:
left, right, data = None, None, 0
def __init__(self,nodeData, left = None, right = None, parent = None):
self.nodeData = nodeData
self.left = left
self.right = right
self.parent = self
class Tree:
def __init__(self):
self.root = None
def addNode(self, inputData):
return TreeNode(inputData)
def insertNode(self, parent, root, inputData):
if root == None:
return self.addNode(inputData)
else:
root.parent = parent
if inputData <= root.nodeData:
root.left = self.insertNode(root, root.left, inputData)
else:
root.right = self.insertNode(root, root.right, inputData)
return root
class树节点:
左,右,数据=无,无,0
定义初始化(self,nodeData,左=无,右=无,父=无):
self.nodeData=nodeData
self.left=左
self.right=right
self.parent=self
类树:
定义初始化(自):
self.root=None
def addNode(自身,输入数据):
返回树节点(输入数据)
def insertNode(自、父、根、输入数据):
如果根=无:
返回self.addNode(inputData)
其他:
root.parent=parent
如果inputData这有很多很多问题。既然是家庭作业,我就给你一个提示
def __init__(self,nodeData, left = None, right = None, parent = None):
self.nodeData = nodeData
self.left = left
self.right = right
self.parent = self
为什么没有将self.parent设置为parent
?这有很多问题。既然是家庭作业,我就给你一个提示
def __init__(self,nodeData, left = None, right = None, parent = None):
self.nodeData = nodeData
self.left = left
self.right = right
self.parent = self
为什么不将self.parent
设置为parent
?类树节点:左,右,data=None,None,0
不做您认为它做的事情。这三个变量不是每个节点的一部分。你需要找到一个更好的Python教程。请用家庭作业
标记你的家庭作业。类树节点:左,右,data=None,None,0
不做你认为它做的事情。这三个变量不是每个节点的一部分。你需要找到一个更好的Python教程。请用家庭作业
标记你的家庭作业。嗨,谢谢你的回复。这不是家庭作业,因为它只是一个个人项目。再次非常感谢,Alex谢谢你的提示。我很想知道你认为代码有什么问题。是进行完整代码审查的更好地方。然而。类级变量类树节点:左、右、数据=None、None、0在该代码中无效。而且def addNode(self,inputData)
的名称不正确。和insertNode
实现错误。您好,感谢您的回复。这不是家庭作业,因为它只是一个个人项目。再次非常感谢,Alex谢谢你的提示。我很想知道你认为代码有什么问题。是进行完整代码审查的更好地方。然而。类级变量类树节点:左、右、数据=None、None、0在该代码中无效。而且def addNode(self,inputData)
的名称不正确。而insertNode
实现是错误的。