问答题

案例分析题

已知二叉树的存储结构为二叉链表,其类型定义如下:
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;
}

 

已知二叉树的存储结构为二叉链表,其类型定义如下:
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;
}

(2)

【参考答案】

将二叉树的bt1复制到bt2。复制时,将bt1的所有结点的左子树复制到bt2对应的右子树;将bt1的所有结点的右子树复制......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
(3)
问答题
(2)
相关试题