一、名词解释(每题2分,共10分)
1. 数据对象
2. 链表
3. 广义表
4. 连通图
5. 最小生成树
二、判断正误(正确打√,错误划×,每题1分,共10分)
1. 算法时间复杂度是衡量算法性能的唯一标准。( )
2. 二叉树可以使用顺序存储结构。( )
3. 图属于线性结构。( )
4. 链式存储能够实现随机存取。( )
5. 深度为k的二叉树至多有2k-1个结点。( )
6. 用邻接矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中顶点个数有关,
而与图的边数无关( )
7. 若以某个顶点开始,对有n个顶点的有向图G进行深度优先遍历,所得的遍历序列唯一,则可以断定其边数
为n-1( )
8. 若一个无向图以顶点V1为起点进行深度优先遍历,所得的遍历序列唯一,则可以唯一确定该图( )
9. 带权图的最小生成树是唯一的( )
10. 直接插入排序是一种稳定的排序方法。( )
三、填空(每空2分,共10分)
1. 在一个循环队列中,队首指针指向队首元素的( )位置。
2. 在具有n个单元的循环队列中,队满时共有( )个元素。
3. 若图G中每条边都( )方向,则G为无向图。
4. 图的邻接矩阵是表示( )之间相邻关系的矩阵。
5. 用邻接表表示图进行广度优先遍历时,通常是采用( )来实现算法的。
四、选择题(单选或多选)(每题2分,共30分)
1. 用单链表表示的链式队列的队头是在链表的( )位置。
A. 表尾 B. 表头 C. 指针域 D. 任意
2. 在一棵二叉树中,度为0 的结点的个数为n0 ,度为2 的结点的个数为n2 ,则有n0=( )
A. n2+1 B. n2 C. n2+2 D. n2+3
3. 一棵有n(n>0)个结点的满二叉树共有( )个叶子结点
A. n+1 B. n C. n-1/2 D. n+1/2
4. 关于循环链表的说法正确的是( )
A. 属于顺序存储结构 B. 属于非线性结构 C.通过任意结点可遍历整个链表 D.能随机存取
5. 关于空格串的说法正确的是( )
A. 由空格字符组成的串 B. 属于空串的一种 C. 串的长度为零 D. 只能采用链式存储
6. 对于满二叉树,共有n个结点,其中m个叶子结点,深度为h,则( )。
A. n=h+m B. 2n=h+m C. m=h-1 D. n=2h-1
7. 设n、m为一棵二叉树上的两个结点,在中根遍历时,n在m之前的条件是( )。
A. n 在m 右方 B. n 是m 的祖先 C. n 在m 左方 D. n 是m 的子孙
8. 用邻接表表示图进行深度优先遍历时,通常是采用( )来实现算法的.
A.栈 B. 队列 C. 树 D. 图
9. 任何一个无向连通图的最小生成树( )
A. 只有一棵 B. 有一棵或多棵 C. 一定有多棵 D. 可能不存在
10. 生成树的构造方法有( )。
A. 深度优先 B. 深度优先和广度优先 C. 无前驱的顶点优先 D. 无后继的顶点优先
11. 无向图顶点v的度为关联于该顶点( )的数目.
A. 顶点 B. 边 C. 序号 D. 下标
12. 有一个长度为12的有序表,按折半查找法对该表进行查找,在表内各元素等概率的情况下查找成功所需的平
均比较次数为( )
A. 35/12 B. 37/12 C. 39/12 D. 43/12。
13. 关于广义表的说法正确的有( )
A. 广义表的长度定义为最外层包含的元素个数 B. 广义表的深度定义为所含括弧的重数
C. 广义表属于线性结构 D. 广义表可递归方式定义
14. 关于顺序查找的说法正确的有( )
A. 可用于顺序存储结构 B. 要求线性表是有序表
C. 可用于链式存储结构 D. 平均查找长度为n
15. 关于堆排序的说法正确的有( )
A. 属于交换排序 B. 采用完全二叉树顺序存储结构
C. 属于选择排序 D. 堆中任一子树也是堆
五、简述题 (每题10分,共30分)
1. 数据的逻辑结构主要包括哪几类?
2.在单链表、双链表和单循环链表中,若仅知道指针p指向某结点,而不知道头指针,能否将结点*p从相应的链表中删去?
3. 堆排序有哪些特点?
六. 程序分析与设计(每题5分,共10分)。
1. 设n为正整数,请用大O表示法描述下列程序段的时间复杂度
i=1;k=0;
while(i<n)
{k=k+10*i;i++;
}
2. 试用顺序表作为存储结构,实现将线性表(a0,a1,…an-1)就地逆置的操作,“就地”是指辅助空间应为O(1)。
一、名词解释(每题2分,共10分)
1. 数据对象
答:是性质相同的数据元素的集合,它是数据的一个子集。
2. 链表
答:以链式结构存储的线性表称之为链表。
3. 广义表
答:广义表是 n ( ³ 0 )个表元素组成的有
限序列 ,记作
LS = (a1, a2, a3, …, an)
LS 是表名,ai 是表元素,它可以是表 ( 称为子表) ,可以是数据元素( 称为原子) 。n 为表的长度。n = 0 的广义表为空表。
4. 连通图
答:若图G中任意两个顶点都是连通的,则称G为连通图。
5. 最小生成树
答:权最小的生成树称为最小生成树。
二、判断正误(每题1分,共10分)
1~5 ×√××√
6~10 √×√×√
三、填空(每空2分,共10分)
1.当前2. n-1 3. 没有 4. 顶点 5. 队列
四、选择题(单选或多选) (每题2分,共30分)
1 B 2 A 3 D 4 C 5 A
6 D 7 C 8 A 9 B 10 B
11 B 12 B 13 ABD 14 AC 15 BCD
五、简述题 (每题10分,共30分)
1. 数据的逻辑结构主要包括哪几类?
答:数据的逻辑结构通常有下列4 类:
① 集合 :数据元素之间除了“ 属于同一个集合” 的关系以外,别无其他关系。
② 线性结构 :数据元素之间存在一对一的关系。
③ 树型结构 :数据元素之间存在一对多的关系。
④ 图状结构
2. 在单链表、双链表和单循环链表中,若仅知道指针p指向某结点,而不知道头指针,能否将结点*p从相应的链表中删去?
答:单链表
每个结点数据结构只有一个指针域,指向下一个结点,没有前驱结点指针,因此不能找到该结点的直接前驱,故无法删除该结点
双链表
每个结点有两个指针,分别指向直接前驱和直接后继结点,根据指针可以找到该结点的直接前驱和直接后继,因此,能够删除该结点
单循环链表
每个结点只有一个指向直接后继的指针,但尾结点指针不为空,而是指向头结点或链表的第一个结点,因此,根据指针可以进行循环查找,直到找到结点的直接前驱,因此,该结点可以被删除。
3.堆排序有哪些特点?
答:堆排序是一种树型选择排序,其特点是:在排序过程中,将R[1]~R[n]看成是完全二叉树顺序存储结构, 利用完全二叉树中双亲结点和孩子结点之间的内在关系来选择关键字最大( 或最小) 的记录。
六. 程序分析(每题5分,共10分)。
1. 答:上述程序段中,循环体的执行次数为n ,所以时间复杂度为O(n)。
2. 答:
– void ReverseList(Seqlist *L)
{
Datatype t;
int I;
for (i=0;i<L->length/2;i++)
{t = L->data[i];
L->data[i] = L->data[L->length-1-i];
L->data[L->length-1-i] = t;
}
}
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
相关文章:
电大《学前教育学》试题2012年7月04-27
电大《中国古代文学( B )( l )》试题 2011 年1 月04-27
电大《中国古代文学(B)(1)》试题 2009年7月04-27
电大《中国古代文学(B) (1)》试题 2010年1月04-27