一、填空题
1.数据结构被形式地定义为(D,R),其中D是数据元素的有限集合,R是D上的关系的有限集合。
(解析:D代表数据元素的集合,R代表元素间的关系集合。)
2.数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。
(解析:数据结构涵盖逻辑结构(数据间的关系)、存储结构(物理存储方式)和运算(相关操作)。)
3.数据结构按逻辑结构可分为四大类,它们分别是集合、线性结构、树形结构、图状结构。
(解析:逻辑结构的分类基于元素间的关系类型。)
4.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
(解析:线性结构如数组、链表;树形结构如二叉树;图形结构如网络图。)
5.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
(解析:线性结构严格遵循顺序,首尾结点无前驱或后继。)
6.在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后继结点,其余每个结点的后续结点数可以任意多个。
(解析:树根无父结点(前驱),叶子无子结点(后继),非叶子结点可有多个子结点(后继)。)
7.在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。
(解析:图结构元素间关系自由,前驱和后继数量无限制。)
8.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序存储、链式存储、索引存储、哈希存储。
(解析:存储方法包括顺序(连续内存)、链式(指针链接)、索引(索引表)、散列(哈希函数)。)
9.一个算法的效率可分为时间效率和空间效率。
(解析:算法效率主要从时间复杂度和空间复杂度衡量。)
10.数据结构是研讨数据的逻辑结构和存储结构,以及它们之间的相互关系,并对与这种结构定义相应的操作,设计出相应的算法。
(解析:数据结构研究数据的逻辑关系、物理存储及操作算法。)
11.下面程序段中带下划线的语句的执行次数的数量级是O(nlogn)。
plaintext
i=1;
while(in)
{for(j=1;j=n;j++)//语法修正:逗号改为分号
x=x+1;//带下划线的语句
i=i*2;
}
(解析:外层while循环执行次数为O(logn)(因i每次乘以2),内层for循环执行次数为O(n),故总次数为O(nlogn),数量级为O(nlogn)。)
二、选择题
C)数据元素之间的关系
解析:存储数据时,除了元素值本身,还需存储元素间的逻辑关系(如指针、索引),这是数据结构的核心。
C)逻辑
解析:逻辑结构描述数据元素间的抽象关系(如线性、树形),与计算机无关;存储结构和物理结构依赖于具体实现。
C)分析算法的效率以求改进
解析:算法分析的核心是评估时间/空间效率,优化算法性能。
B)可行性、确定性和有穷性
解析:算法五大特性:输入、输出、可行性(能执行)、确定性(步骤明确)、有穷性(执行终止)。
B.(1),(2),(4)
解析:
(1)错误:原地工作指O(1)额外空间,并非完全不需要空间。
(2)错误:O(n)与O(2n)等价(常数系数可忽略),时间复杂度相同。
(3)正确:时间复杂度通常指最坏情况的上界。
(4)错误:语言级别与执行效率无直接关联(如C语言高级但高效)。
C)线性结构、非线性结构
解析:逻辑结构分为线性结构(顺序关系,如链表)和非线性结构(树、图等)。
A)一定连续
解析:连续存储(如数组)要求物理地址严格连续,这是其实现的基础特性。
三、判断题
数据元素是数据的最小单位。
答案:×
解析:数据的最小单位是数据项,数据元素是由数据项组成的(例如:一条记录是数据元素,其中的字段是数据项)。
记录是数据处理的最小单位。
答案:×
解析:数据处理的最小单位是数据项,记录由多个数据项组成(例如:一条学生记录包含学号、姓名等数据项)。
数据的逻辑结构是指数据的各数据项之间的逻辑关系。
答案:×
解析:逻辑结构描述数据元素之间的逻辑关系,而非数据项之间的关系(例如:线性结构中元素的先后关系)。
算法的优劣与算法描述语言无关,但与所用计算机有关。
答案:×
解析:算法优劣取决于时间/空间复杂度,与描述语言和计算机无关(复杂度分析是数学抽象)。
健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
答案:√
解析:健壮性指算法对非法输入有容错处理(如返回错误提示),避免崩溃或不可控状态。
算法用高级语言描述后就是程序。
答案:×
解析:算法是解决问题的步骤,程序是算法的具体实现