第六章测试
1.已知一棵树边的集合为{<I,M>, <I,N>, <E,I>, <B,E>, <B,D>, <A,B>, <G,J>, <G,K>, <C,G>, <C,F>, <H,L>, <C,H>, <A,C>},问这棵树中结点G的双亲结点为(   )
A:B B:I C:C D:A
答案:C
2. 一棵二叉树中,叶子的个数为10,则其度为2的结点的个数为 (    ) ;
A:10 B:9 C:11 D:12 3.假如一棵二叉树的中序遍历结果为ABCD,则结点A和结点D的关系一定不是(     ); 
A:结点A是结点D的右子树上的结点 B:结点A是结点D的双亲结点 C:结点A是结点D的左子树上的结点 D:结点A与结点D具有共同的双亲的右子树上的结点 4.已知一棵树边的集合为{<I,M>, <I,N>, <E,I>, <B,E>, <B,D>, <A,B>, <G,J>, <G,K>, <C,G>, <C,F>, <H,L>, <C,H>, <A,C>},将此树转化为二叉树后,E的左孩子为(   );
A:A B:I C:B D:C 5.一棵哈夫曼树有17个结点,则其叶子结点的个数是 _________ 。
A:8 B:9 C:7 D:10 6.写递归算法,将二叉树中所有结点的左、右子树相互交换。Status ExchangeBiTree(BiTree& T){     BiTreep;     if(T){          p=T->lchild;          T->lchild=T->rchild;          T->rchild=p;          ExchangeBiTree(T->lchild);       __________ }     returnOK;}
A:ExchangeBiTree(T->lchild->rchild) B:ExchangeBiTree(T->rchild); C:ExchangeBiTree(T); D:A.ExchangeBiTree(p); 7.试写一个算法,为一棵二叉树建立后序线索二叉树。StatusPostOrderThreading(BiThrTree& T,BiThrTree& pre);//首先建立后序线索树StatusFindNextInBiThrTree(BiThrTree& q,TElemType *p);//再进行查找 // 后序线索二叉树的算法StatusPostOrderThreading(BiThrTree& Thrt,BiThrTree& T){     BiThrTree pre;     Thrt=new BiThrNode; // 为线索二叉树建立头结点     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;     }     return OK;} 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;     }     return OK;}
A:T->lchild=pre; B:pre->lchild=T C:pre->rchild=T D:T->rchild=pre 8.1.编写递归算法,将二叉树中所有结点的左、右子树相互交换。StatusExchangeBiTree(BiTree& T){     BiTree p;     if(T){         p=T->lchild;         T->lchild=T->rchild;         T->rchild=p;         ExchangeBiTree(T->lchild);                      }     return OK;}
A:ExchangeBiTree(p); B:ExchangeBiTree(T); C:ExchangeBiTree(T->lchild->rchild); D: ExchangeBiTree(T->rchild);

温馨提示支付 ¥3.00 元后可查看付费内容,请先翻页预览!
点赞(9) dxwkbang
返回
顶部