1.向一个栈顶指针为top的链栈中插入一个S所指结点时,则执行( )。
A.top->next = S;
B.S->next = top->next; top->next = S;
C.S->next = top; top = S;
D.S->next = top; top = top->next;
A.top->next = S;
B.S->next = top->next; top->next = S;
C.S->next = top; top = S;
D.S->next = top; top = top->next;
2.若对n阶对称矩阵A以行序为主序方式将其下三角的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i≤j)的位置k的关系为( )。
A. i*(i-1)/2+j
B. j*(j-1)/2+i
C.i*(i+1)/2+j
D.j*(j+1)/2+i
A. i*(i-1)/2+j
B. j*(j-1)/2+i
C.i*(i+1)/2+j
D.j*(j+1)/2+i
3.下面关于串的的叙述中,哪一个是不正确的?
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
4.有6个元素以6,5,4,3,2,1 的顺序进栈,下列( )不是合法的出栈序列。
A.5 4 3 6 1 2
B.4 5 3 1 2 6
C.3 4 6 5 2 1
D.2 3 4 1 5 6
A.5 4 3 6 1 2
B.4 5 3 1 2 6
C.3 4 6 5 2 1
D.2 3 4 1 5 6
5.下面关于串的的叙述中,哪一个是不正确的?
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
6.判定一个队列QU(最多元素为m0)为满队列的条件是( )。
A.QU->rear - QU->front == m0
B.QU->rear - QU->front -1 == m0
C.QU->front == QU->rear
D.QU->front == QU->rear+1
A.QU->rear - QU->front == m0
B.QU->rear - QU->front -1 == m0
C.QU->front == QU->rear
D.QU->front == QU->rear+1
7.判定一个顺序栈ST(最多元素为m0)为空的条件是()。
A.ST->top<0
B.ST->top=0
C.ST->top<>m0
D.ST->top=m0
A.ST->top<0
B.ST->top=0
C.ST->top<>m0
D.ST->top=m0
8.线性表若采用链式存储结构时,要求内存中可用存储单元的地址()
A.必须是连续的
B.部分地址必须是连续的
C.一定是不连续的
D.连续或不连续都可以
A.必须是连续的
B.部分地址必须是连续的
C.一定是不连续的
D.连续或不连续都可以
9.循环队列A[0..m-1]存放其元素值,用整型变量front和rear分别表示队头和队尾指针,则当前队列中的元素个数是( )。
A.(rear-front+m)%m
B.rear-front+1
C.rear-front-1
D.rear-front
A.(rear-front+m)%m
B.rear-front+1
C.rear-front-1
D.rear-front
10.带头结点的单链表L为空的判定条件是()。
A.L==NULL
B.L->next==NULL
C.L->next==L
D.L!=NULL
A.L==NULL
B.L->next==NULL
C.L->next==L
D.L!=NULL
11.线性表L在哪种情况下适用于使用链式结构实现( )。
A.需经常修改L中的结点值
B.需不断对L进行删除插入
C.L中含有大量的结点
D.L中结点结构复杂
A.需经常修改L中的结点值
B.需不断对L进行删除插入
C.L中含有大量的结点
D.L中结点结构复杂
12.广义表A=(a,b,(c,d),(e,(f,g))),则Head(Tail(Head(Tail(Tail(A)))))的值为( )。
A.(g)
B.(d)
C.c
D.d
A.(g)
B.(d)
C.c
D.d
13.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的运算称为( )
A.求子串
B.联接
C.模式匹配
D.求串长
A.求子串
B.联接
C.模式匹配
D.求串长
14.算法分析的两个主要方面是( )。
A.空间复杂性和时间复杂性
B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
A.空间复杂性和时间复杂性
B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
15.对稀疏矩阵进行压缩存储目的是( )。
A.便于进行矩阵运算
B.便于输入和输出
C.节省存储空间
D.降低运算的时间复杂度
A.便于进行矩阵运算
B.便于输入和输出
C.节省存储空间
D.降低运算的时间复杂度
16.一个栈的输入序列为1, 2, 3,…,n,若输出序列的第1个元素是n,则第i(1≤i≤n)个输出的元素是( )。
A.不确定
B.n-i+1
C.i
D.n-i
A.不确定
B.n-i+1
C.i
D.n-i
17.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是()。
A.110
B.108
C.100
D.120
A.110
B.108
C.100
D.120
18.在字符串匹配的BF算法中,当主串位i与模式串位j比较失败时,新一趟匹配开始,主串的位移公式是( )。
A.i=i+1
B.i=j+1
C.i=i-j+1
D.i=i-j+2
A.i=i+1
B.i=j+1
C.i=i-j+1
D.i=i-j+2
19.在非空双向循环链表(节点指针域分别为pre 和next)中q所指的结点前插入一个由p所指的链结点的过程依次为()。
A.q->pre=p; p->next=q;
B.t=q->pre; t->next=p; p->next=q;
C.t=q->pre; t->next=p; p->pre=t; p->next=q;
D.t=q->pre; t->next=p; p->next=q; q->pre=p; p->pre=t;
A.q->pre=p; p->next=q;
B.t=q->pre; t->next=p; p->next=q;
C.t=q->pre; t->next=p; p->pre=t; p->next=q;
D.t=q->pre; t->next=p; p->next=q; q->pre=p; p->pre=t;
20.稀疏矩阵一般的压缩方法有两种,即( )。
A.二维数组和三维数组
B.三元组和散列
C.三元组顺序表和十字链表
D.散列和十字链表
A.二维数组和三维数组
B.三元组和散列
C.三元组顺序表和十字链表
D.散列和十字链表
21.下面说法不正确的是( )。
A.广义表的表头总是一个广义表
B.广义表的表尾总是一个广义表
C.广义表难以用顺序存储结构表示
D.广义表可以是一个多层次的结构
A.广义表的表头总是一个广义表
B.广义表的表尾总是一个广义表
C.广义表难以用顺序存储结构表示
D.广义表可以是一个多层次的结构
22.若对n阶对称矩阵A以行序为主序方式将其下三角的元素(包括主对角线上所有元素)依次存放于一维数组B[1..(n(n+1))/2]中,则在B中确定aij(i≤j)的位置k的关系为( )。
A. i*(i-1)/2+j
B. j*(j-1)/2+i
C.i*(i+1)/2+j
D.j*(j+1)/2+i
A. i*(i-1)/2+j
B. j*(j-1)/2+i
C.i*(i+1)/2+j
D.j*(j+1)/2+i
23.程序段 for (i=n;i>0;i--)
for (j=1;j<i;j++)
if (a[j]>a[j+1])
Swap(A[j],A[j+1]); //将A[j]与A[j+1]对换
其中 n为正整数,则在最坏情况下算法的时间复杂度是( )
A. O(n)
B.O(nlogn)
C. O(n3)
D.O(n2)
for (j=1;j<i;j++)
if (a[j]>a[j+1])
Swap(A[j],A[j+1]); //将A[j]与A[j+1]对换
其中 n为正整数,则在最坏情况下算法的时间复杂度是( )
A. O(n)
B.O(nlogn)
C. O(n3)
D.O(n2)
24.非线性结构是数据元素之间存在一种()。
A.一对多关系
B.多对多关系
C.多对一关系
D.一对一关系
A.一对多关系
B.多对多关系
C.多对一关系
D.一对一关系
25.算法分析的目的是( )。
A.找出数据结构的合理性
B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进
D.分析算法的易懂性和文档性
A.找出数据结构的合理性
B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进
D.分析算法的易懂性和文档性
26.循环队列的引入,目的是
为了克服假溢出时大量移动数据元素 。
27.对于双向链表,在两个结点之间插入一个新结点需修改的指针共
4 个。
28.设广义表L=((),()), 则head(L)是
() ;tail(L)是
(()) ;L的长度是
2 。
29.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用
顺序 存储结构。
30.两个串相等的充分必要条件是
串中所含字符的个数相同,且对应位置上的字符也相同
。
31.组成串的数据元素只能是
字符 。
32.index("datastructure","str",1)=
5 。
33.为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的栈底分别设在这片内存空间的两端,这样栈满的条件是:
两个栈的栈顶在栈空间的某一位置相遇 。
34.一个算法具有5个特性:
有穷性 , 确定性 , 可行性 有零个或多个输入、有一个或多个输出。
35.当广义表中的每个元素都是原子时,广义表便成了
线性表 。