我有一个节点和它们的子节点的字典,但是我在插入子节点来构造二叉树时遇到了麻烦,我用二叉树来进行前序遍历和中序遍历。
输入:每个密钥对表示:根:(左子级、右子级),并且可以按任意顺序排列{6:(无、无)、10:(2,6)、2:(无、无)、3:(14、无)、8:(10,3)}
输出树
Binary Tree
我希望树是类格式的(例如,root.left将返回10,root.left.right将返回6。但是我的代码没有查找应该是8:(10,3)的根节点并收集所有子节点。我如何增强代码?)
class Node:
def __init__(self, key, left, right):
self.key= key
self.left = left
self.right = right
# Compare the new key with the left and right node
def insert(self, key, vals):
if self.key == None:
self.key = key
self.left = vals[0]
self.right = vals[1]
# else if left is equal to key
elif self.left == key:
self.key = key
self.left = vals[0]
self.right = vals[1]
# else if right is equal to key
elif:
self.key = key
self.left = vals[0]
self.right = vals[1]
1条答案
按热度按时间nlejzf6q1#
他们给你的数据结构是一个很好的存储二叉树的方法,没有必要把它转换成对象,你可以有一个
Tree
对象,然后把这些都作为这个类的方法,但是我不确定这样是否更好。输出: