Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Merge 合并功能说明_Merge_Binary Search Tree_Pseudocode - Fatal编程技术网

Merge 合并功能说明

Merge 合并功能说明,merge,binary-search-tree,pseudocode,Merge,Binary Search Tree,Pseudocode,我在一些旧的考试中看到了一些伪代码,我真的不知道它在做什么 谁能给我解释一下吗 A和B是BST的 Foo(A,B) if A= NULL return B if B != NULL if value[A] > value[B] return Foo(B,A) left[B] <- Foo(right[A],left[B]) right[A] <- B return A Foo(A,B) 如果

我在一些旧的考试中看到了一些伪代码,我真的不知道它在做什么

谁能给我解释一下吗

A和B是BST的

Foo(A,B)
   if A= NULL
     return B
   if B != NULL
      if value[A] > value[B]
           return Foo(B,A)
      left[B] <- Foo(right[A],left[B])
      right[A] <- B
   return A
Foo(A,B)
如果A=NULL
返回B
如果B!=无效的
如果值[A]>值[B]
返回Foo(B,A)

左[B]这是一个二进制搜索树合并例程。如果
A
B
为null(表示空树),则返回另一个。否则,它将确保
A
的根小于
B
的根;如果根的顺序不正确,它将在交换参数的情况下递归。然后,它递归地合并
A
的右子树和
B
的左子树,并将结果附加为
B
的左子树。最后,它附加
B
作为
A
的新的右子树,并返回
A

你在哪里看到的?这只是我大学的一次考试。我试图弄明白这是怎么回事,但我不知道该写什么。