我想创建一个将两个bst进行比较的函数,看它们是否相同。
这是我到目前为止所拥有的
MPI_Exscan()
我必须以这种方式测试它,first.same(另一个)来看它们是否相同。
这是我更新的功能:
def same(self,another):
same = False
for j in another:
for i in self:
if self[i] == another[j]:
same = True
return same
这就是我想出来的,但是我用这个函数测试的任何东西我总是得错。
答案 0 :(得分:0)
我不会马上给出答案,但这是你怎么做的。
在BST中,左节点小于或等于根节点,右节点大于根节点,并且此属性递归地应用于每个节点。
因此,对于每个节点,您必须执行以下操作
1。)if(bst1node.data == bst2node.data)检查左右节点:
返回比较(bst1node.left,bst2node.left)&& 比较(bst1node.right,bst2node.right);
2。)if(bst1node.data!= bst2node.data){return false};
3。)最后,当比较超出了叶子时会发生什么?
if(bst1node == null&& bst2node == null)返回true;
如果一个节点为null,而其他节点不为null,则返回false;
根据这些条件,您应该能够检查两个BST是否相等。而已。