数据结构第二次作业答案(C语言版)-07
数据结构第二次作业答案
学号: 姓名: 评分: . 一. 单项选择题(20分)
( )1. 某二叉树的先序序列和后序序列正好相反,则该二叉树一定是____b____的二叉树。
a. 空或只有一个结点 b. 高度等于其结点数(空树高度为0) c. 任一结点无左孩子 d. 任一结点无右孩子
( )2. 设图的顶点数=n, 边数=e,若用邻接表表示图,那么求最短路径的Dijkstra算法的时间复杂
度为_____b____。
a.O(n*e) b.O(n2) c.O(n+e) d.O(n3)
( )3. 一棵左右子树均不为空的二叉树在后序线索化后(不带头结点的线索化),其空指针域数为
____b_____。
a、0 b、1 c、2 d、不确定 ( )4. 下面程序段的时间复杂度是____d_____。
i=1; while(i<=n) i=i*2;
a. O(n) b. O(n2) c. O(2n) d. O(log2n)
( )5. 在有n(>0)个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级
为_____b______。
a. O(n) b. O(log2n) c. O(nlog2n) d. O(n2)
( )6. 采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序
查找来确定结点所在的块时,每块应分为____b____个结点最佳。 a. 10 b. 25 c. 6 d. 625
( )7. 下列排序算法中时间复杂度不受数据初始状态影响,恒为O(n2)的是____c______。
a、堆排序 b、起泡排序 c、直接选择排序 d、快速排序
( )8. 已知数据表中的每个元素距其最终位置不远,则采用____b___排序算法最省时间。
a.堆排序 b.插入排序 c.快速排序 d.直接选择排序
( )9. 假设图的顶点数=n, 边数=e,那么当用邻接表表示图时,拓扑排序算法的时间复杂度为
____b_____。
a. O(n2) b. O(n+e) c. O(n*e) d. O(n3)
( )10. 一棵左子树为空的二叉树在先序线索化后(不带头结点的线索化),其中的空链域的个数
为____a_____。
a. 2 b. 1 c. 0 d. 不确定 二. 填空作图简答题(共62分): 1. 依次插入30,43,21,9,15,51并由空树构成一棵平衡二叉树, 画出该平衡二叉树形成过程及其中序线索二叉树。
1