如何描述和编写算法来检查两个二叉树是否相同?
How to describe and code an algorithm to check if two binary trees are identical or not?
他们的质量标准要求我使用正确的语法并编写我已经尝试过但我真的没有信息的东西。它只是让我这样做,但我不知道如何开始。
identical
binary tree please help
如果你想检查两棵树是否相同,你可以简单地同时遍历这两棵树。遍历两棵树时,如果一个节点存在于一棵树上,而另一棵树上不存在,则两棵树不相同。
您可以采用此处描述的递归方法:https://www.geeksforgeeks.org/write-c-code-to-determine-if-two-trees-are-identical/
sameTree(tree1, tree2)
1. If both trees are empty then return 1.
2. Else If both trees are non -empty
(a) Check data of the root nodes (tree1->data == tree2->data)
(b) Check left subtrees recursively i.e., call sameTree(
tree1->left_subtree, tree2->left_subtree)
(c) Check right subtrees recursively i.e., call sameTree(
tree1->right_subtree, tree2->right_subtree)
(d) If a,b and c are true then return 1.
3 Else return 0 (one is empty and other is not)
现在,如果您想检查两棵树是否同构,有多种方法可以做到这一点。为了获得高精度和良好的性能,您可能会寻找某种方法来散列这两棵树。
他们的质量标准要求我使用正确的语法并编写我已经尝试过但我真的没有信息的东西。它只是让我这样做,但我不知道如何开始。
identical
binary tree please help
如果你想检查两棵树是否相同,你可以简单地同时遍历这两棵树。遍历两棵树时,如果一个节点存在于一棵树上,而另一棵树上不存在,则两棵树不相同。
您可以采用此处描述的递归方法:https://www.geeksforgeeks.org/write-c-code-to-determine-if-two-trees-are-identical/
sameTree(tree1, tree2)
1. If both trees are empty then return 1.
2. Else If both trees are non -empty
(a) Check data of the root nodes (tree1->data == tree2->data)
(b) Check left subtrees recursively i.e., call sameTree(
tree1->left_subtree, tree2->left_subtree)
(c) Check right subtrees recursively i.e., call sameTree(
tree1->right_subtree, tree2->right_subtree)
(d) If a,b and c are true then return 1.
3 Else return 0 (one is empty and other is not)
现在,如果您想检查两棵树是否同构,有多种方法可以做到这一点。为了获得高精度和良好的性能,您可能会寻找某种方法来散列这两棵树。