绪论 单元测试

1、单选题:
( )在其著作《计算机程序设计艺术》中,开创了数据结构的最初体系。( )
选项:
A:史蒂芬·古克
B:唐纳德·克努特
C:尼古拉斯·沃斯
D:理查德·卡普
答案: 【唐纳德·克努特

2、单选题:
( )提出了著名的公式程序=算法+数据结构。( )
选项:
A:理查德·卡普
B:唐纳德·克努特
C:尼古拉斯·沃斯
D:史蒂芬·古克
答案: 【尼古拉斯·沃斯

3、单选题:
数据结构课程不是( )课程的先修课程。
选项:
A:计算机组成原理
B:高级语言程序设计
C:操作系统
D:数据库原理
答案: 【高级语言程序设计

4、单选题:
下面哪个不是常见的数据结构。( )
选项:
A:栈
B:线性表
C:树
D:线性方程组
答案: 【线性方程组

5、单选题:
下面说法错误的是( )。
选项:
A:通过数据结构课程,能够掌握数据结构的逻辑结构、存储结构及实现算法
B:我国高校从20世纪50年代就开设了数据结构这一课程
C:精心选择的数据结构能够带来更高的计算速度和存储效率
D:程序是为处理计算机问题编制的一组指令集
答案: 【我国高校从20世纪50年代就开设了数据结构这一课程

第一章 单元测试

1、单选题:
( )是组成数据具有独立含义不可分割的最小单位。( )
选项:
A:数据对象
B:数据项
C:数据变量
D:数据元素
答案: 【数据项

2、单选题:
数据逻辑结构中非线性结构包括( )。
选项:
A:图形结构和堆栈结构
B:顺序结构和链式结构
C:树形结构和队列结构
D:树形结构和图形结构
答案: 【树形结构和图形结构

3、单选题:
设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是( )。
选项:
A:物理结构
B:线性结构
C:图形结构
D:树形结构
答案: 【树形结构

4、单选题:
数据结构的主要研究内容包括数据的( )以及数据的运算和操作。
选项:
A:抽象结构、物理结构
B:逻辑结构、抽象结构
C:逻辑结构、物理结构
D:离散结构、抽象结构
答案: 【逻辑结构、物理结构

5、单选题:
数据结构被形象化的定义为一个二元组Group=(D,S),其中D为数据元素的有限集,S为( )的有限集。
选项:
A:关系
B:操作
C:结构
D:运算
答案: 【关系

6、单选题:
线性结构中的数据元素具有( )关系。
选项:
A:多对一关系
B:多对多关系
C:一对一关系
D:一对多关系
答案: 【一对一关系

7、单选题:
对一个算法的评价,不包括如下( )方面的内容。
选项:
A:时空复杂度
B:健壮性和可读性
C:并行性
D:正确性
答案: 【并行性

8、单选题:
下列时间复杂度中最好的是( )。
选项:
A:O(n)
B:O(n^2)
C:O(log2n)
D:O(2^n)
答案: 【O(log2n)

9、单选题:
以下算法的时间复杂度是( )。 i=1; while(i<=n) i=i*3;
选项:
A:O(n)
B:O(log3n)
C:O(log2n)
D:O(n^3)
答案: 【O(log3n)

10、单选题:
以下算法:s=0;for(i=0;i<n;i++)for(j=0;j<n;j++)s=s+a[i][j];printf("%dn",sum);的时间复杂度为( )
选项:
A:O(n)
B:O(n^3)
C:O(log2n)
D:O(n^2)
答案: 【O(n^2)

第二章 单元测试

1、单选题:
下面关于线性表的叙述中,错误的是哪一个?( )
选项:
A:线性表采用链接存储,便于插入和删除操作
B:线性表采用顺序存储,必须占用一片连续的存储单元
C:线性表采用顺序存储,便于插入和删除操作
D:线性表采用链接存储,不必占用一片连续的存储单元
答案: 【线性表采用顺序存储,便于插入和删除操作

2、单选题:
如果最常用的操作是取第i个结点及其前驱,则采用( )存储方式最节省时间。
选项:
A:单循环链表
B:顺序表
C:单链表
D:双链表
答案: 【顺序表

3、单选题:
线性表采用顺序存储时,存储地址( )。
选项:
A:连续与否均可
B:可以与逻辑顺序不一致
C:必须是连续的
D:一定是不连续的
答案: 【必须是连续的

4、单选题:
线性表采用链式存储时,结点的存储地址( )。
选项:
A:和头结点的存储地址相连续
B:必须是连续的
C:必须是不连续的
D:连续与否均可
答案: 【连续与否均可

5、单选题:
带头结点的单链表head为空的判定条件是( )
选项:
A:head==NULL
B:head->next==NULL
C:head!=NULL
D:head->next==head
答案: 【head->next==NULL

6、单选题:
设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( )。
选项:
A:p=p->next->next
B:p->next=p
C:p=p->next
D:p->next=p->next->next
答案: 【p->next=p->next->next

7、单选题:
在一个长度为n(n>1)的单链表上,设有头指针和尾指针,执行( )操作与链表的长度有关。
选项:
A:删除单链表中的最后一个元素
B:在单链表的最后一个元素后插入一个新元素
C:在单链表的第一个元素前插入一个新元素
D:删除单链表中的第一个元素
答案: 【删除单链表中的最后一个元素

8、单选题:
若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用( )存储方式最节省运算时间。
选项:
A:单链表
B:给出表头指针的单循环链表
C:带头结点的双循环链表
D:双链表
答案: 【带头结点的双循环链表

9、单选题:
在双向链表存储结构中,删除p所指的结点时须修改指针( )。
选项:
A:p->next->prior=p; p->next=p->next->next;
B:p->prior->next=p->next; p->next->prior=p->prior;
C:p->prior=p->prior->prior; p->prior->next=p;
D:p->next=p->prior ->prior; p->prior=p->next->next;
答案: 【p->prior->next=p->next; p->next->prior=p->prior;

10、单选题:
建立一个长度为n的有序单链表的时间复杂度为( )
选项:
A:O(1)
B:O(n^2)
C:O(n)
D:O(log2n)
答案: 【O(n^2)

发表评论

电子邮件地址不会被公开。 必填项已用*标注