如何遍历并打印二叉树?

时间:2019-07-18 16:01:44

标签: python binary-tree

我已经用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)。

是否可以打印每个节点的所有值?

1 个答案:

答案 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)