二叉排序树的存储结构类型定义如下:typedef int DataType;typedef struct node{DataTy

二叉排序树的存储结构类型定义如下:
typedef int DataType;
typedef struct node
{DataType data; //data是数据域
struct node *lchild,*rchild; //分别指向左右孩子
}BinTNode;
typedef BinTNode *BinTree;
阅读程序并回答问题。
int f31(BinTree Bt,int target)
{if(Bt!=NULL)
{if(Bt-> data==target)return 1;
else if(Bt-> data> target)return f31(Bt-> lchild,target);
else return f31(Bt-> rchild,target);
}
else return-1;
}
(1)设二叉树Bt如下图所示,分别给出执行f31(Bt,40)和f31(Bt,35)的返回结果。

(2)函数f31()的功能是什么?


【正确答案】:(1)f31(Bt,40)的返回结果:-1
f31(Bt,35)的返回结果:1
(2)在二叉排序树Bt中查找target,查找成功返回1,否则返回-1。