第一章 单元测试

1、 问题:与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。
选项:
A:存储结构
B:存储实现
C:逻辑结构
D:运算实现
答案: 【
逻辑结构

2、 问题:说法正确的是( )。
选项:
A:数据元素是数据的最小单位
B:数据项是数据的基本单位
C:数据结构是带有结构的各数据项的集合
D:一些表面上很不相同的数据可以有相同的逻辑结构
答案: 【
一些表面上很不相同的数据可以有相同的逻辑结构

3、 问题:在这些数据结构中,( )是非线性数据结构
选项:
A:树
B:字符串
C:队列
D:栈
答案: 【

4、 问题:在数据结构中,数据的基本单位是( )。
选项:
A:数据项
B:数据类型
C:数据元素
D:数据变量
答案: 【
数据元素

5、 问题:

计算算法的时间复杂度是属于一种( )。

选项:
A:事前统计的方法
B:事前分析估算的方法
C:事后统计的方法
D:事后分析估算的方法
答案: 【
事前分析估算的方法

6、 问题:数据元素之间的关系称为( )
选项:
A:操作
B:结构
C:数据对象
D:数据集合
答案: 【
结构

7、 问题:

在下列算法中,“x=x2”的执行次数是( )

int suanfal(int n) { 

      int i, j, x=1;

for(i=0;i<n;i++)

for(j=i;j<n;j++)

x=x 2;

      return x;

}

选项:
A:n(n+1)/2
B:nlog2n
C:n2
D:n(n-1)/2
答案: 【
n(n+1)/2

8、 问题:

求整数n(n≥0)阶乘的算法如下,其时间复杂度是( )

int fact(int n){

    if (n<=1) return 1;

return  n × fact(n-1);

}

选项:
A:O(log2n)
B:O(n)
C:O(nlog2n)
D:O(n2)
答案: 【
O(n)

9、 问题:数据元素可以由类型互不相同的数据项构成。( )
选项:
A:对
B:错
答案: 【

10、 问题:在顺序存储结构中,有时也存储数据结构中元素之间的关系。( )
选项:
A:对
B:错
答案: 【

11、 问题:算法可以没有输人,但是必须有输出。( )
选项:
A:对
B:错
答案: 【

第二章 单元测试

1、 问题:线性表是一个( )
选项:
A:有限序列,可以为空
B:有限序列,不能为空
C:无限序列,可以为空
D:无限序列,不能为空
答案: 【
有限序列,可以为空

2、 问题:能在O(1)时间内访问线性表的第i个元素的结构是( )。
选项:
A:顺序表
B:单链表
C:单向循环链表
D:双向链表
答案: 【
顺序表

3、 问题:线性表是具有n(n>0)个( )的有限序列。
选项:
A:表元素
B:字符
C:数据元素
D:数据项
答案: 【
数据元素

4、 问题:若某线性表最常用的操作是存取任一指定序号的元素并在最后进行插入和删除运算,则利用( )存储方式最节省时间。
选项:
A:顺序表
B:双链表
C:带头结点的双循环链表
D:单循环链表
答案: 【
顺序表

5、 问题:线性表(a1,a2,…,an)以链接方式存储时,访问第i个位置元素的时间复杂性为( )。
选项:
A:O(i)
B:О(1)
C:O(n)
D:O(i-1)
答案: 【
O(n)

6、 问题:将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为( )
选项:
A:O(1)
B:О(m)
C:O(n)
D:O(m+n)
答案: 【
О(m)

7、 问题:

链表具有的特点是( )。

选项:
A:插入、删除不需要移动元素
B:可随机访问任一元素
C:不必事先估计存储空间
D:所需空间与线性长度成正比
答案: 【
插入、删除不需要移动元素
不必事先估计存储空间
所需空间与线性长度成正比

8、 问题:已知L是有头结点的非空单链表,则要在P结点前插入S结点的语句序列是( )
选项:
A:Q=P;
B:Q=L;
C:P->next =S-> next;
D:while(Q -> next! =P) Q =Q -> next;
E:P-> next =Q-> next;
F:delete Q;
G:P=Q;
H:S->next =Q->next;
I:Q ->next =S;
答案: 【
Q=L;
while(Q -> next! =P) Q =Q -> next;
S->next =Q->next;
Q ->next =S;

9、 问题:

下面代码是实现尾插法创建单链表L的过程,请选择合适的语句,将代码补充完整。( )

void CreatList_R(LinkList& L, int n) {

    L = new LNode;

    L->next = NULL;

   

    for (int i = 0; i < n; i++) {

        LNode * p = new LNode;

        cin >> p->data;

        

        r = p;

    }

}

 

选项:
A:LNode * p = NULL;
B:LNode * r = L;
C:LNode * r = L->next;
D:p->next = NULL; r->next = p;
E:r-> next =NULL; p->next = r;
答案: 【
LNode * r = L;
p->next = NULL; r->next = p;

10、 问题:线性表的逻辑顺序与物理顺序总是一致的。( )
选项:
A:对
B:错
答案: 【

11、 问题:线性表的插入和删除操作总是伴随着大量数据的移动。( )
选项:
A:对
B:错
答案: 【

12、 问题:在顺序表中取出第i个元素所花费的时间与i成正比。( )
选项:
A:对
B:错
答案: 【

13、 问题:线性表采用链式存储表示时,所有结点之间的存储单元地址可连续可不连续。( )
选项:
A:对
B:错
答案: 【

14、 问题:在单链表中,要访问某个结点,只要知道该结点的指针即可,因此,单链表是一种随机存取结构。( )
选项:
A:对
B:错
答案: 【

15、 问题:在具有头结点的链式存储结构中,头指针指向链表中的第一个数据结点。( )
选项:
A:对
B:错
答案: 【

16、 问题:在一个具有头指针和尾指针的单链表中,执行删除该单链表中最后一个元素的操作与链表的长度无关。( )
选项:
A:对
B:错
答案: 【

第三章 单元测试

1、 问题:数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为( )。
选项:
A:r-f
B:(n+f-r)%n
C:n+r-f
D:(n+r-f)%n
答案: 【
(n+r-f)%n

本门课程剩余章节答案为付费内容
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦