章节测试一
1【单选题】在数据结构中,从逻辑上可以把数据结构分为( )
- A、动态结构和静态结构
- B、紧凑结构和非紧凑结构
- C、线性结构和非线性结构
- D、内部结构和外部结构
我的答案:C
2【单选题】与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )
- A、存储结构
- B、存储实现
- C、逻辑结构
- D、运算实现
我的答案:C
3【单选题】通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )
- A、数据具有同一特点
- B、不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
- C、每个数据元素都一样
- D、数据元素所包含的数据项的个数要相等
我的答案:B
4【单选题】以下说法正确的是( )
- A、数据元素是数据的最小单位
- B、数据项是数据的基本单位
- C、数据结构是带有结构的各数据项的集合
- D、一些表面上很不相同的数据可以有相同的逻辑结构
我的答案:D
5【单选题】以下数据结构中,( )是非线性数据结构
- A、树
- B、字符串
- C、队列
- D、栈
我的答案:A
6【单选题】( )是数据的基本单位,在计算机程序中通常作为一个整体进行处理。
- A、数据项
- B、数据元素
- C、数据对象
我的答案:B
7
【单选题】数据元素之间的不同逻辑关系代表不同的逻辑结构,常见的逻辑结构有四种,它们是( )
- A、线性表、集合结构、树结构、图结构
- B、线性结构、数组结构、树结构、图结构
- C、集合结构、线性结构、树结构、图结构
- D、集合结构、数组结构、树结构、网状结构
我的答案:C
8【单选题】数据的存储结构考虑的是如何在计算机中存储各个数据元素,并且同时兼顾数据元素间的逻辑关系。基本的存储结构有两大类,分别为( )
- A、顺序表和链表
- B、数组和链表
- C、顺序存储结构和链式存储结构
- D、线性存储结构和非线性存储结构
我的答案:C
9
【单选题】现实生活中的家族谱,可认为是一种( )结构。
- A、图
- B、树
- C、集合
- D、线性表
我的答案:B
10
【单选题】手机中存储的电话号码簿,可认为是一种( )结构。
- A、树
- B、图
- C、线性表
- D、集合
我的答案:C
11
【单选题】设计一个学生信息管理系统管理学生的基本信息,该系统中的数据元素为( )
- A、存储学生信息的表格
- B、某个学生的基本信息
- C、某个学生的学号或姓名等信息
- D、所有学生的基本信息
我的答案:B
12
【单选题】设计一个学生信息管理系统管理学生的基本信息,该系统中的数据项为( )
- A、某个学生的基本信息
- B、所有学生的基本信息
- C、构成学生基本信息的学号、姓名等字段
- D、所有学生的学号、姓名等字段值
我的答案:C
13
【单选题】下述( )与数据的存储结构无关。
- A、栈
- B、双向链表
- C、循环队列
- D、二叉链表
我的答案:A
14
【单选题】顺序存储设计时,存储单元的地址( )
- A、一定连续
- B、一定不连续
- C、不一定连续
- D、部分连续,部分不连续
我的答案:A
15
【单选题】链式存储设计时,存储单元的地址( )
- A、一定连续
- B、一定不连续
- C、不一定连续
- D、部分连续,部分不连续
我的答案:C
16【单选题】以下属于逻辑结构的是( )
- A、顺序表
- B、循环链表
- C、散列表
- D、有序表
我的答案:D
有序表可能有顺序存储结构实现或者链式存储结构实现,属于存储结构
17【单选题】链式存储结构中,用于存储后继元素地址的部分称为( )
- A、结点
- B、指针
- C、链表
我的答案:B
18【多选题】在定义抽象数据类型时,需要包含的内容为:( )
- A、数据对象
- B、数据关系
- C、基本操作
- D、基本操作的实现
我的答案:ABC
基本操作的定义不必在抽象数据类型当中,因其在抽象层面来说并不是实现层而是概念层
19【判断题】数据结构包含数据的逻辑结构、存储结构和数据的运算(操作)集合三个方面。
我的答案:√
数据的运算(操作)集合举例:在stack当中,insert、push、pop均为运算(操作)
20【判断题】两个数据结构的逻辑结构和存储结构都相同,但是它们的运算集合中有一个运算的定义不一样,因此不能把它们看作同一个数据结构。
我的答案:√
21【判断题】顺序存储结构的特点是:逻辑结构中相邻的数据元素,其在存储器中的存储位置也相邻。
我的答案:√
22【判断题】链式存储结构的特点是:逻辑结构中相邻的数据元素,其在存储器中的存储位置不一定相邻。
我的答案:√
23【判断题】在C语言中,顺序存储结构通常用数组实现。
我的答案:√
24【判断题】在C语言中,链式存储结构通常用不同形式的链表实现。
我的答案:√
章节测试二
1【单选题】算法的时间复杂度取决于( )
- A、 问题的规模
- B、 待处理数据的初态
- C、计算机的配置
- D、A和B
我的答案:D
2【单选题】下面的程序段的时间复杂度为( )
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{c[i][j]=0;
for(k=1;k<=n;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];
}
sum=s;
- A、O(1)
- B、O()
- C、O()
- D、O(n)
我的答案:B得分: 10.0分
3【单选题】下面程序段的时间复杂度为( )
for(i=0;i<10000;i++)
{ x++; s=0; }
- A、O(n^2)
- B、O(n^3)
- C、O(n)
- D、O(1)
我的答案:D
4【单选题】评价一个算法性能好坏的重要标准是( )。
- A、算法的正确性
- B、算法易于调试
- C、算法的时间和空间复杂度
- D、算法易于理解
我的答案:C
5
【单选题】除了输入输出,算法还必须具备以下()3个特性。
- A、可执行性、可移植性、可扩充性
- B、可执行性、确定性、有穷性
- C、确定性、有穷性、稳定性
- D、易读性、稳定性、安全性
我的答案:B
6【单选题】下面关于算法说法正确的是()
- A、算法最终必须由计算机程序实现
- B、“为解决某问题的算法”和“为该问题编写的程序”含义是相同的
- C、算法的可行性是指指令不能有二义性
- D、以上几个都是错误的
我的答案:D
程序的可行性是指:算法中的所有操作都可以通过将已经实现的基本操作运算执行有限次实现
7【单选题】下面程序段的最坏时间复杂度为()
for(i=n-1; i>=1; --i)
for(j=1; j<=i; ++j)
if( a[j] > a[j+1] ) 交换a[j]与a[j+1]
- A、O(n)
- B、O(log2(n))
- C、O(n^2)
- D、O(n^3)
我的答案:C
8【单选题】某算法中基本操作(原操作)的运行时间函数f(n)=3*(n^3) + 100*(n^2) + n + 1,其时间复杂度为( )
- A、O(n)
- B、O(n^2)
- C、O(n^3)
- D、n^3
我的答案:C
9【单选题】下面程序段的时间复杂度为( )
for(i=0; i<100; i++)
for(j=0; j<i; j++)
sum += j;
- A、O(1)
- B、O(i^2)
- C、O(100)
- D、O(n)
我的答案:A
10【多选题】算法必须具备( ) 这三个特性。
- A、可扩充性
- B、可执行性
- C、确定性
- D、有穷性
我的答案:BCD