我已经用python编写了二进制树结构。我可以输入每个节点的数据,但是一旦插入过程结束(例如在Java 12中),就不能迭代并以树格式打印。
BookingDates::whereRaw('email = ? or name like ?', [$request->email,"%{$request->name}%"])->get();
当我打印class Tree:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
def Insert(i, p):
if i == 4:
return
else:
p.left = Tree(input("Enter Value for left node\n"))
p.right = Tree(input("Enter Value for right node\n"))
Insert(i+1, p.left, )
Insert(i+1, p.right, )
root = Tree(1)
Insert(0, root)
print(root)
时,我会得到它在内存中的位置(类似:
root
)。
是否可以打印每个节点的所有值?
答案 0 :(得分:1)
按顺序打印树的算法实际上非常简单。这几乎与您当前正在插入的内容相同。这是一个有序遍历的示例(排序的区别是print(root.data)
是在对其子项的递归调用之前(预排序),之间(依次)还是之后(后排序)。
def Print_Tree(root):
if root is None:
return
Print_Tree(root.left)
print(root.data)
Print_Tree(root.right)