第一章概论
一、填空题
1、 数据的存储结构可用四种基本的存储方法表示,分别是顺序、 链式 、 索引 和 散列。
2、一个算法具有5个特性: 有穷性 、确定性、可行性,有零个或多个输入、有一个或多个输出 。
3、 数据结构包括数据的 逻辑结构 、存储结构 和 运算(或基本操作)这三个方面的内容。
4、数据结构中评价算法的两个重要指标是 时间 效率和 空间 效率。
5、一个数据结构在计算机中的表示称为 存储结构 。
6、从逻辑上可以把数据结构分为线性结构、非线性结构两大类
7、数据逻辑结构除了集合以外,还包括线性结构、树形结构和 图形结构 。
8、数据的存储结构形式包括顺序存储、链式存储、索引存储和 散列存储。
9、数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)3个方面的内容。
10、算法效率的度量可以分为事先估算和 事后统计法 。
二、单项选择题
1、 数据结构中,与所使用的计算机无关的是数据的是( C );
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 )两大类。
A)动态结构、静态结构 B)顺序结构、链式结构
C)线性结构、非线性结构 D)初等结构、构造型结构
6、下列数据中,( C )是非线性数据结构。
A.栈 B. 队列 C. 完全二叉树 D. 堆
7、算法分析的两个主要方面是( A )。
A) 空间复杂性和时间复杂性 B) 正确性和简明性
C) 可读性和文档性 D) 数据复杂性和程序复杂性
8、在下面程序段的时间复杂度( D )
i=1;
while(i<=n)
i=i*3;
A. O(3n) B.O(n) C.O(n3) D.O(log3n)
9、在下面的程序段中,对x的赋值语句的频度为( C )
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
x=x+1;
A. O(2n) B.O(n) C.O(n2) D.O(log2n)
10、下面关于算法说法错误的是( D )
A.算法最终必须由计算机程序实现
B.为解决某问题的算法同为该问题编写的程序含义是相同的
C. 算法的可行性是指指令不能有二义性
D. 以上几个都是错误的
11、数据结构通常是研究数据的(A)及它们之间的相互关系。
A.存储结构和逻辑结构 B.存储和抽象
C.联系和抽象 D.联系与逻辑
12、数据在计算机中存储器内表示时,物理地址和逻辑地址相同并且是连续的,称之为( C )。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构
13、非线性结构中的每个结点( D )。
A.无直接前趋结点 B.无直接后继结点
C.只有一个直接前趋和一个直接后继结点 D.可能有多个直接前趋和多个直接后继结点
14、链式存储结构所占存储空间( A )。
A.分两部分,一部分存储结点的值,另一部分存放表示结点间关系的指针
B.只有一部分,存放结点的值
C.只有一部分,存储表示结点间关系的指针
D.分两部分,一部分存放结点的值,另一部分存放结点所占单元数
15、数据的基本单位是(B)。
A.数据结构 B.数据元素 C.数据项 D.文件
16、每个结点只含有一个数据元素,所有存储结点相继存放在一个连续的存储空间里。这种存储结构称为(A)结构。
A.顺序存储 B.链式存储 C.索引存储 D.散列存储
17、每一个存储结点不仅含有一个数据元素,还包含一组指针,该存储方式是(B)存储方式。
A.顺序 B.链式 C.索引 D.散列
18、算法分析的两个主要方面是(A)。
A.空间复杂性和时间复杂性 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
19、算法能正确的实现预定功能的特性称为算法的(A)。
A.正确性 B.易读性 C.健壮性 D.高效性
20、算法在发生非法操作时可以作出相应处理的特性称为算法的(C)。
A.正确性 B.易读性 C.健壮性 D.高效性
21、计算机算法必须具备输入、输出和(C)。
A.计算方法 B.排序方法
C.解决问题的有限运算步骤 D.程序设计方法
三、判断题
1. 数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的储存结构.( × )
2. 数据的逻辑结构是指数据的各数据项之间的逻辑关系;( × )
3. 数据的物理结构是指数据在计算机内的实际存储形式。( √ )
4.算法的优劣与算法描述语言无关,但与所用计算机有关。( × )
5.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( √ )
6.算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。( × )
四、简答题
1、当为解决某一问题而选择数据结构时,应从哪些方面考虑?
答:通常考虑算法所需要的存储空间量和算法所需要的时间量。后者又涉及到四方面:程序运行时所需输入的数据总量,对源程序进行编译所需时间,计算机执行每条指令所需时间和程序中指令重复执行的次数。
五、1、O(m*n) 2、O(n2) 3、O(n2) 4、O(log3n)