数据结构第六章树和二叉树习题与答案

上传人:xmg****18 文档编号:120021364 上传时间:2020-02-01 格式:DOC 页数:10 大小:53KB
返回 下载 相关 举报
数据结构第六章树和二叉树习题与答案_第1页
第1页 / 共10页
数据结构第六章树和二叉树习题与答案_第2页
第2页 / 共10页
数据结构第六章树和二叉树习题与答案_第3页
第3页 / 共10页
数据结构第六章树和二叉树习题与答案_第4页
第4页 / 共10页
数据结构第六章树和二叉树习题与答案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数据结构第六章树和二叉树习题与答案》由会员分享,可在线阅读,更多相关《数据结构第六章树和二叉树习题与答案(10页珍藏版)》请在金锄头文库上搜索。

1、 . . . .习题六 树和二叉树一、单项选择题1 以下说法错误的是 ( )A树形结构的特点是一个结点可以有多个直接前趋B线性结构中的一个结点至多只有一个直接后继C树形结构可以表达(组织)更复杂的数据D树(及一切树形结构)是一种分支层次结构E任何只含一个结点的集合是一棵树2下列说法中正确的是 ( )A任何一棵二叉树中至少有一个结点的度为2B任何一棵二叉树中每个结点的度都为2C任何一棵二叉树中的度肯定等于2D任何一棵二叉树中的度可以小于23讨论树、森林和二叉树的关系,目的是为了( )A借助二叉树上的运算方法去实现对树的一些运算B将树、森林按二叉树的存储方式进行存储C将树、森林转换成二叉树D体现一

2、种技巧,没有什么实际意义4树最适合用来表示 ( )A有序数据元素 B无序数据元素C元素之间具有分支层次关系的数据 D元素之间无联系的数据5若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )A9 B11 C15 D不确定 6设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( )。AM1 BM1+M2 CM3 DM2+M37一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )A 250 B 500 C254 D505 E以上答案都不对 8. 设给定权值总数有n 个,其哈夫曼树的结点总数为

3、( ) A不确定 B2n C2n+1 D2n-19二叉树的第I层上最多含有结点数为( )A2I B 2I-1-1 C 2I-1 D2I -110一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A2h B2h-1 C2h+1 Dh+1 11. 利用二叉链表存储树,则根结点的右指针是( )。A指向最左孩子 B指向最右孩子 C空 D非空12已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。ACBEFDA B FEDCBA C CBEDFA D不定 13已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它

4、的前序遍历是( )。Aacbed Bdecab Cdeabc Dcedba 14在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( )A都不相同 B完全相同 C先序和中序相同,而与后序不同 D中序和后序相同,而与先序不同 15在完全二叉树中,若一个结点是叶结点,则它没( )。A左子结点 B右子结点 C左子结点和右子结点 D左子结点,右子结点和兄弟结点16在下列情况中,可称为二叉树的是( )A每个结点至多有两棵子树的树 B. 哈夫曼树 C每个结点至多有两棵子树的有序树 D. 每个结点只有一棵右子树 E以上答案都不对 17. 一棵左右子树均不空的二叉树在先序线索化后,其中空的链

5、域的个数是:( )。A. 0 B. 1 C. 2 D. 不确定 18. 引入二叉线索树的目的是( )A加快查找结点的前驱或后继的速度 B为了能在二叉树中方便的进行插入与删除C为了能方便的找到双亲 D使二叉树的遍历结果唯一19n个结点的线索二叉树上含有的线索数为( )A2n Bnl Cnl Dn 20由3 个结点可以构造出多少种不同的二叉树?( )A2 B3 C4 D5 21下面几个符号串编码集合中,不是前缀编码的是( )。A0,10,110,1111 B11,10,001,101,0001 C00,010,0110,1000 Db,c,aa,ac,aba,abb,abc 22. 一棵有n个结点

6、的二叉树,按层次从上到下,同一层从左到右顺序存储在一维数组A1.n中,则二叉树中第i个结点(i从1开始用上述方法编号)的右孩子在数组A中的位置是( )AA2i(2i=n) BA2i+1(2i+1lchild=NULL)&(t-rchild=NULL)_; countleaf(t-lchild,&count); _ 13以下程序是二叉链表树中序遍历的非递归算法,请填空使之完善。二叉树链表的结点类型的定义如下: typedef struct node /*C语言/ char data; struct node *lchild,*rchild;*bitree;void vst(bitree bt)

7、/*bt为根结点的指针*/ bitree p; p=bt; initstack(s); /*初始化栈s为空栈*/while(p | !empty(s) /*栈s不为空*/ if(p) push (s,p); (1)_ ; /*P入栈*/else p=pop(s); printf(“%c”,p-data);(2)_ _; /*栈顶元素出栈*/ 14二叉树存储结构同上题,以下程序为求二叉树深度的递归算法,请填空完善之。 int depth(bitree bt) /*bt为根结点的指针*/int hl,hr; if (bt=NULL) return(1)_ _); hl=depth(bt-lchild); hr=depth(bt-rchild); if(2)_ _) (3)_ _; return(hr+1); 15将二叉树bt中每一个结点的左右子树互换的C语言算法如下,其中ADDQ(Q,bt),DELQ(Q),EMPTY(Q)分别为进队,出队和判别队列是否为空的函数,请填写算法中得空白处,完成其功能。typedef struct node int data ; struct node *lchild, *r

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号