绪论

一.填空题

1. 数据结构被形式地定义为(D, R),其中D是 数据元素 的有限集合,R是D上的 关系有限集合。

2. 数据结构按逻辑结构可分为两大类,它们分别是 线性结构 和 非线性结构。

3. 线性结构中元素之间存在 一对一 关系,树形结构中元素之间存在 一对多 关系,图形结构中元素之间存在 多对多 关系。

4. 数据的存储结构可用四种基本的存储方法表示,它们分别是 顺序存储结构 、 链式存储结构 、 索引存储结构 、 散列存储结构 。

5. 一个算法的效率可分为 时间 效率和 空间 效率。

6. 数据结构是研讨数据的 逻辑 结构 和 物理 结构,以及它们之间的相互关系,并对与这种结构定义相应的 操作 ,设计出相应的 算法

7. 下面程序段中带下划线的语句的执行次数的数量级是( 第一章 绪论 - 图1 )。

  1. int i = 1;
  2. while (i < n){
  3. for (int j = 1;j <= n; j ++){
  4. x = x + 1;
  5. }
  6. i = i * 2;
  7. }

8. 设有数据结构(D, R),其中

D={d1, d2, d3, d4},R={r}, r={(d1, d2),(d2, d3),(d3, d4)}

问数据结构D是那种类型的数据结构? 线性结构 。

二.选择题

1. 连续存储设计时,存储单元的地址( A )。

A.一定连续 B.一定不连续

C.不一定连续 D.部分连续,部分不连续

2. 数据结构中,与所使用的计算机无关的是数据的( C )结构.

A)存储 B)物理 C)逻辑 D)物理和存储

3. 算法分析的目的是( C )

A)找出数据结构的合理性 B)研究算法中的输入和输出的关系

C) 分析算法的效率以求改进 D)分析算法的易懂性和文档性

4. 计算机算法必须具备输入、输出和( B )等5个特性。

A)可行性、可移植性和可扩充性 B)可行性、确定性和有穷性

C)确定性、有穷性和稳定性 D)易读性、稳定性和安全性

5. 下面说法错误的是( C )

(1)算法原地工作的含义是指不需要任何额外的辅助空间

(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法

(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界

(4)同一个算法,实现语言的级别越高,执行效率就越低

A.(1) B.(1),(2) C.(1),(4) D.(3)

6. 从逻辑上可以把数据结构分为( C )两大类。

A.动态结构、静态结构 B.顺序结构、链式结构

C.线性结构、非线性结构 D.初等结构、构造型结构

三.判断题

1. 数据元素是数据的最小单位。( × )

2. 数据项是数据处理的最小单位。 ( √ )

3. 数据的逻辑结构是指数据的各数据元素之间的逻辑关系;( √ )

4. 数据的物理结构是指数据在计算机内的实际存储形式。( √ )

5. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( × )

6. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构。 ( × )