期中测试--期中测试【含答案】

(1)单选题

若线性表最常用的操作是存取第i个元素及其前驱的值,则采用(  )存储方式节省时间

A  顺序表

B  单链表

C  单循环链表

D  双链表

(2)单选题

在一个以Head为头指针的单循环链表中,p指针指向尾指针的条件是( )。

A  p->next==NULL

B  p->next==head

C  p->next->next==head

D  p->data==-1

(3)单选题

下列不属于栈的应用的是( )

A  迷宫问题

B  程序递归

C  表达式求值

D  作业的调度

(4)单选题

若一个算法的时间复杂度用T(n)表示,其中n的含义是(  )

A  循环层数

B  语句条数

C  问题规模

D  函数数量

(5)单选题

对需要频繁插入和删除结点的线性表,适合的存储方式是( )

A  顺序储存

B  链式存储

C  索引存储

D  散列存储

(6)单选题

用三元组表表示稀疏矩阵,目的是为了( )。

A  对非零元素进行随机访问

B  便于插入或删除矩阵元素

C  节省存储空间

D  便于增加或减少矩阵中的非零元素

(7)单选题

在单链表中,存储每个结点有两个域,即数据域和指针域,后者指向该结点的( )。

A  开始结点

B  结束结点

C  直接前驱

D  直接后继

(8)单选题

常用于函数调用的数据结构是( )。

A  栈

B  数组

C  队列

D  链表

(9)单选题

判定一个循环队列Q(最多有m0个元素,采用“少用一个元素空间”来判别队空队满),判断队为满的条件是( )。

A  Q->front= =Q->rear

B  Q->front= =(Q->rear+1)%m0

C  Q->front!= =Q->rear

D  Q->front != =(Q->rear+1)%m0

(10)单选题

设一个栈的输入序列为A,B,C,D,E,则借助一个栈所得到的输出序列不可能的是( )。

A  A,B,C,D,E

B  E,D,C,B,A

C  D,C,E,A,B

D  D,E,C, B, A

(11)单选题

链式存储的存储结构所占存储空间( )。

A  分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针

B  只有一部分,存放结点值

C  只有一部分,存储表示结点间关系的指针

D  分两部分,一部分存放结点值,另一部分存放结点所占单元数

(12)单选题

线性表若采用链式存储结构时,要求内存中可用存储单元的地址( )。

A  必须是连续的

B  部分地址必须是连续的

C  一定是不连续的

D  连续或不连续都可以

(13)单选题

已知L是带头结点的单链表,且P结点既不是首元结点,也不是尾元结点,在P结点后插入S结点的语句序列是( )。

A  S->next=P->next; P->next=S;

B  P->next=S; S->next=P->next;

C  S=P->next; P=S->next;

D  S->next=P; P->next=S;

(14)单选题

已知L是带头结点的单链表,且P结点既不是首元结点,也不是尾元结点,删除P结点的后继结点的语句序列是( )。

A  S=P; P->next=P->next->next; free(S);

B  S=P->next; P->next=P->next->next; free(S);

C  P->next=P->next->next; S=P->next; free(S);

D  P->next=P->next->next; S=P; free(S);

(15)单选题

表长为n的顺序存储的线性表,当在任何位置上插入一个元素的概率相等时,插入一个元素所需移动元素的平均个数为( )。

A  (n-1)/2

B  n

C  (n+1)/2

D  n/2

(16)单选题

表长为n的顺序存储的线性表,当删除任意一个元素的概率相等时,删除一个元素所需移动元素的平均个数为( )。

A  (n-1)/2

B  n

C  (n+1)/2

D  n/2

(17)单选题

对称矩阵A[N][N],A[1][1]为首元素,将下三角(包括对角线)元素以行优先顺序存储到一维数组元素T[1]至T[N(N+1)/2]中,则任一元素A[i][j]存于T[k]中,下标k为( )。

A  (n-1)/2

B  K=I*(I+1)/2+J (其中I=max(i,j),J=min(i,j); )

C  (n+1)/2

D  K=J*(J+1)/2+I (其中I=max(i,j),J=min(i,j); )

(18)单选题

算法分析的目的是( )。

A  找出数据结构的合理性

B  研究算法中的输入和输出的关系

C  分析算法的效率以求改进

D  分析算法的易懂性和文档性

(19)单选题

计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备具备输入、输出和( )等5个特性。

A  可行性、可移植性和可扩充性

B  可行性、确定性和有穷性

C  确定性、有穷性和稳定性

D  易读性、稳定性和安全性

(20)单选题

在下列算法中,时间复杂度是O(1)的操作是( )。

A  在n个结点的顺序表中,访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)

B  在n个结点的链表中,访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)

C  在n个结点的顺序表中,删除第i个结点(1≤i≤n)

D  在n个结点的链表中,删除第i个结点(1≤i≤n)

(21)判断题

如果两个串含有相同的字符,则说他们相等。( )

(22)判断题

算法是解决问题的步骤,也就是一些列的指令序列 ( )

(23)判断题

一个算法可以没有输出( )

(24)判断题

在单循环链表中,其中有一个指针S指向某一个结点,能够删除结点S的前驱结点( )

(25)判断题

栈和队列是特殊的线性表,其特殊性体现在插入和删除位置受到限制( )

(26)判断题

线性表的顺序存储结构相比于链式存储结构总是节省空间的( )

(27)判断题

双向链表中在某个结点P之前插入一个结点,其时间复杂度为O(1)( )

(28)判断题

广义表是线性表的推广,所以是一种线性结构,可以用顺序存储结构来存储( )

(29)判断题

串是一种特殊的线性表,其特殊性体现在:数据元素是字符;操作对象是数据元素序列( )

(30)判断题

在单链表中,除了首元结点外,任一结点的存储位置由数据元素的next指针指向。( )

(31)判断题

评价算法的优劣通常是用算法的执行时间来衡量( )

(32)判断题

在顺序表中插入一个元素,首先要判断顺序表是不是已经满了( )

(33)判断题

队列的特点是先进先出,栈的特点是后进先出( )

(34)判断题

对于串来说,顺序存储结构最合适了,不需要作其他处理( )

(35)判断题

算法的有四个要求:正确性、可读性、健壮性、高效率低存储。( )

(36)判断题

双向循环链表的头指针为head,若带头结点,则表空的条件是head->next=NULL或head->prior=NULL。( )

(37)判断题

链式存储结构失去了顺序存储结构的按序号随机存取的特点,所以在长度为n的线性链表中查找第 i个数据元素需要从头指针一个一个的数,所以时间性能为O(n).( )

(38)判断题

稀疏矩阵由于存在很多零元素,为了节省空间可采用压缩存储方式,通常有三元组表和十字链表存储。( )

(39)判断题

一般来说,为了插入删除算法方便,链栈需要设置头结点( )

(40)判断题

顺序队列存在假溢出现象,所以不能用顺序存储结构存储队列。( )

获取标准答案请阅读全文

未经允许不得转载!期中测试--期中测试【含答案】