A.先序遍历
B.中序遍历
C.后序遍历
D.层次遍历
第2题
试写一个算法,为一棵二叉树建立后序线索二叉树。
StatusPostOrderThreading(BiThrTree&T,BiThrTree&pre);//首先建立后序线索树
StatusFindNextInBiThrTree(BiThrTree&q,TElemType*p);//再进行查找
//后序线索二叉树的算法
StatusPostOrderThreading(BiThrTree&Thrt,BiThrTree&T)
{BiThrTreepre;Thrt=newBiThrNode;//为线索二叉树建立头结点if(!Thrt)exit(OVERFLOW);Thrt-
>LTag=Link;Thrt->RTag=Thread;Thrt->rchild=Thrt;//右子树回指if(!T)Thrt->lchild=Thrt;//若二叉树空,左子
树回指else{Thrt->lchild=T;pre=Thrt;
PostThreading(T,pre);//后序遍历进行后序线索化
pre->rchild=Thrt;//最后一个结点线索化
pre->RTag=Thread;Thrt->rchild=pre;}returnOK;}
StatusPostThreading(BiThrTree&T,BiThrTree&pre)
{if(T){
if(T->LTag==Link)PostThreading(T->lchild,pre);
if(T->RTag==Link)PostThreading(T->rchild,pre);
if(!T->lchild){T->LTag=Thread;___________}
if(pre&&!pre->rchild){
pre->RTag=Thread;pre->rchild=T;}pre=T;}returnOK;}
A.T->lchild=pre;
B.pre->lchild=T
C.T->rchild=pre
D.pre->rchild=T
第3题
写递归算法,将二叉树中所有结点的左、右子树相互交换。StatusExchangeBiTree(BiTree&T){BiTreep;if(T){p=T->lchild;T->lchild=T->rchild;T->rchild=p;ExchangeBiTree(T->lchild);__________}returnOK;}
A.ExchangeBiTree(p);
B.ExchangeBiTree(T->rchild);
C.ExchangeBiTree(T->lchild->rchild)
D.ExchangeBiTree(T);
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!