一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项目中只有一个是符号题目要求的,请将其代码填写的括号内.错选、多选或未选均无分。
第1题 设有两个串p和q,求q在p中首次出现的位置的运算称为()
A. 连接
B. 模式匹配
C. 求子串
D. 求串长
【正确答案】 B
第2题 将上万个一组无序并且互不相等的正整数序列,存放于顺序存储结构中,采用()方法能够最快地找出其中最大的正整数。
A. 快速排序
B. 插入排序
C. 选择排序
D. 归并排序
【正确答案】 C
第3题 在下图中,从顶点V1出发,按广度优选遍历图的顶点序列是()
A. V1V5V3V4V2V6V7
B. V1V5V3V4V2V7V6
C. V1V7V2V6V4V5V3
D. V1V2V4V7V6V5V3
【正确答案】 A
第4题 设有一个无向图G=(V,E)和G′=(V′,E′),如果G′是G的生成树,则下面不正确的说法是()
A. G′为G的子图
B. G′为G的连通分量
C. G′为G的极小连通子图且V′=V
D. G′是G的一个无环子图
【正确答案】 B
第5题 实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳方案是二叉树采用()存储结构。
A. 二叉链表
B. 广义表
C. 三叉链表
D. 顺序
【正确答案】 C
第6题 深度为6(根的层次为1)的二叉树至多有()个结点。
A. 31
B. 32
C. 63
D. 64
【正确答案】 B
第7题 已知一个单链表中有3000个结点,每个结点存放一个整数,()可用于解决这3000个整数的排序问题且不需要对算法作大的变动。
A. 直接插入排序方法
B. 简单选择排序方法
C. 快速排序方法
D. 堆排序方法
【正确答案】 D
第8题 二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从0到4,列下标j的范围从0到5。M按行存储时元素M[3,5]的起始地址与M按列存储时元素()的起始地址相同。
A. M[2,4]
B. M[3,4]
C. M[3,5]
D. M[4,4]
【正确答案】 B
第9题 在一个具有n个单元的顺序栈中,假设栈底是存储地址的高端,现在我们以top作为栈顶指针,则作退栈操作时,top的变化是()
A. top=top-1
B. top=top+1
C. top不变
D. top不确定
【正确答案】 B
第10题 对广义表((a),(b))进行下面的操作head(head((a),(b)))后的结果是()
A. a
B. (a)
C. ()
D. 不确定
【正确答案】 A
第11题 判断一个有向图是否存在回路,除了可以利用拓扑排序方法,还可以利用()
A. 求关键路径的方法
B. 求最短路径的Dijkstra方法
C. 广度优先遍历方法
D. 深度优先遍历方法
【正确答案】 D
第12题 链栈与顺序栈相比,有一个比较明显的优点即()
A. 插入操作更加方便
B. 通常不会出现栈满的情况
C. 不会出现栈空的情况
D. 删除操作更加方便
【正确答案】 B
第13题 带头结点的单链表Head为空的判定条件是()
A. Head=NULL;
B. Head↑.next=NULL;
C. Head↑.next=Head;
D. Head↑.next=Head↑
【正确答案】 B
第14题 从一个包含2000个结点的散列表A[1..2000]中查找结点的平均比较次数()从一个包含200个结点的散列表B[1..200]中查找结点的平均比
较次数。
A. 大于
B. 小于
C. 等于
D. 不确定
【正确答案】 D
四、算法阅读题(本大题共4小题,每小题5分,共20分)
第1题 求下面算法中变量count的值:(假设n为2的乘幂,并且n>2)
int Time
{int n
count=0;x=2;
while(x
{x*=2;count++;
}
return(count)
}
【正确答案】 count=log2n