问答题
已知二叉树T,试写出复制该二叉树的算法(t→T)(1)(8分)递归算法(2)(12分)非递归算法【北方交通大学1993七(20分)】
【正确答案】正确答案:下面是复制二叉树的非递归算法的核心语句段: Queueln(Q,(t,bt)); while(!QueueEmpty(Q)) {(t,bt)=QueueOut(Q); bt=new(BiNode);bt一>data=t一>data ; if(t一>ichiid)QueueIn(Q,(t->ichild,bt->ichild)); elBe bt一>ichiid=null; if(t一>rchiId)QueueIn(Q,(t->rchiid,bt->rchiid));else bt->rchiId=null; } 本题队列中元素是两个二叉树结点指针,使用了队列,用栈也可以。
【答案解析】