[英]Binary Search Tree - storing reference to parent node
我不是编程专家,但我希望有人能帮助我,但是我正在使用Python学习和试验二进制树。
下面是我拥有的代码,并尝试尝试在该节点的节点中存储对节点父节点的引用,但是其父节点的存储对叶节点无效。 在构建树的过程中,有没有办法做到这一点?
我还想知道给定节点是“左”节点还是“右”节点。 我认为看到该节点存储在TreeNode.left或TreeNode.right的实例中,我也许可以在Python中获得对此的引用,例如n._ name _或类似的东西。 您能告诉我找到节点是左还是右的正确方法吗?
我的最终目标是通过关卡顺序遍历使我的树形象化。
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
这有很多很多问题。 既然是家庭作业,我将提供一个提示。
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
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.