【正确答案】(1)数据结构
采用二叉树的链接表示。
(2)思路
按根、左子树、右子树(先根)的顺序周游给定二叉树,同时,按根、右子树、左子树的顺序创建一棵新的二叉树。
(3)算法
BinTree create mirror(BinTree t){ /*创建二叉树t的镜像二叉树*/
BinTree mirror;
if(t==NULL)return NULL;
mirror=(BinTree)malloc(sizeof(struct BinTreeNode));
mirror->info=t->info;
mirror->rlink=create mirror(t->llink);
mirror->llink=create mirror(t->rlink);
return mirror;
}
(4)代价分析
该算法访问每个结点各一次,时间代价为O(n),空间代价为O(h)。
【答案解析】