举一反三
- 试写一个算法,为一棵二叉树建立后序线索二叉树。 StatusPostOrderThreading(BiThrTree& T,BiThrTree& pre);//首先建立后序线索树 StatusFindNextInBiThrTree(BiThrTree& q,TElemType *p);//再进行查找 // 后序线索二叉树的算法 StatusPostOrderThreading(BiThrTree& Thrt,BiThrTree& T) { BiThrTree pre; Thrt=new Bi
- 试写一个算法,为一棵二叉树建立后序线索二叉树。StatusPostOrderTh...T;}pre=T;}returnOK;}
- 写递归算法,将二叉树中所有结点的左、右子树相互交换。 Status ExchangeBiTree(BiTree& T) { BiTreep; if(T){ p=T->lchild; T->lchild=T->rchild; T->rchild=p; ExchangeBiTree(T->lchild); __________ } returnOK; }
- 1.编写递归算法,将二叉树中所有结点的左、右子树相互交换。StatusExchangeBiTree(BiTree&T){BiTreep;if(T){p=T->lchild;T->lchild=T->rchild;T->rchild=p;ExchangeBiTree(T->lchild);}returnOK;}
- 1.编写递归算法,将二叉树中所有结点的左、右子树相互交换。 StatusExchangeBiTree(BiTree& T) { BiTree p; if(T){ p=T->lchild; T->lchild=T->rchild; T->rchild=p; ExchangeBiTree(T->lchild); } return OK; }
内容
- 0
试写一个算法,为一棵二叉树建立后序线索二叉树。StatusPostOrderThreading(BiThrTree
- 1
二叉排序树采用二叉链表存储,结点结构为:lchild|data|rchild,指针lchild和rchild分别指向结点的左右孩子结点。令T指向根结点,则求T的左子树上最大的结点算法的核心语句是( )。 A: if (T) { s=T->lchild;if (s) { while(s->rchild) s=s->rchild; }}return s; B: if (T) { s=T->rchild;if (s) { while(s->rchild) s=s->rchild; }}return s; C: if (T) { s=T->rchild;if (s) { while(s->lchild) s=s->lchild; }}return s; D: if (T) { s=T->lchild;if (s) { while(s->lchild) s=s->lchild; }}return s;
- 2
(1)voidAA(BiTree*T){if(T){printf("%c",T->data);AA(T->lchild);AA(T->rchild);}}Writethefunctionofthealgorithmabove.(5.0分)
- 3
在中序线索化二叉树中,t所指结点没有左子树的充要条件是( )。 A: t→lchild = =NULL; B: t→ltag = =1; C: t→ltag = =1且t→lchild = =NULL D: 以上都不对
- 4
一棵二叉树采用二叉链表存储结构存储,根指针为t,下列递归算法求其先序序列中第k(1≦k≦二叉树中结点的个数)个结点的值,算法的画线处应填的语句是 。[img=369x222]1802fcd73a99dd0.jpg[/img] A: k-- B: n++ C: t = t->lchild D: t = t->rchild