问题 问答题

已知二叉树的存储结构为二叉链表,其类型定义如下:
typedef struct NodeType{
DataType data;
struct NodeType*lchild,*rchild;
}BinTNode,*BinTree;
阅读算法f32,并回答下列问题:
(1)对于如图所示的二叉树,画出执行算法f32的结果;


(2)简述算法f32的功能。
BinTree f32(BinTree bt1)
{
BinTree bt2;
if(bt1==NULL)
bt2=NULL;
else{
bt2=(BinTNode*)malloc(sizeof(BinTNode));
bt2—>data=bt1—>data;
bt2—>rchild=f32(bt1—>lchild);
bt2—>lchild=f32(bt1—>rchild);
}
return bt2;
}

答案

参考答案:

解析:函数f32返回一个指向复制所得二叉树根结点的指针,新建的二又树上每个结点的左、右孩子均为原二叉树上相应结点的右、左孩子

填空题
单项选择题