Go 关于「;等价二叉树;问题

Go 关于「;等价二叉树;问题,go,Go,我正在读围棋的教程,它有一个等价二叉树的问题。文章说,在大多数语言中,检查两个二叉树是否存储相同序列的函数相当复杂 我有点困惑,我们是否可以使用任何像这样的遍历方法来遍历树并验证结果序列是否相同。我认为这很简单。如果我的理解有误,谁能告诉我 问题定义中隐含的是,您正在比较两个二元搜索树是否包含相同的多组元素,虽然BST的顺序将按排序顺序给出元素,但其他任何遍历都不是这样。例如,树\₂ 在树运行时,有12个预订单₁/²的前序为21,尽管两者包含相同的元素。不同之处在于您的建议要求:遍历一棵树并将

我正在读围棋的教程,它有一个等价二叉树的问题。文章说,在大多数语言中,检查两个二叉树是否存储相同序列的函数相当复杂


我有点困惑,我们是否可以使用任何像这样的遍历方法来遍历树并验证结果序列是否相同。我认为这很简单。如果我的理解有误,谁能告诉我

问题定义中隐含的是,您正在比较两个二元搜索树是否包含相同的多组元素,虽然BST的顺序将按排序顺序给出元素,但其他任何遍历都不是这样。例如,树\₂ 在树运行时,有12个预订单₁/²的前序为21,尽管两者包含相同的元素。

不同之处在于您的建议要求:遍历一棵树并将结果存储在列表或类似的列表中,然后遍历另一棵树并将结果存储在列表或类似的列表中,然后比较列表。在Go示例中,使用通道,可以让一个“线程”遍历一棵树,另一个“线程”遍历另一棵树,然后将结果作为各自通道的弹出结果进行比较。请注意,每个线程在其通道上只“存储”一个值,它会阻塞/等待,直到收到该值,然后继续。请在标题中键入错误,谢谢。我们只需使用“预排序”遍历树,然后对结果列表排序,然后再进行比较。我还是不明白为什么它这么复杂。