数据结构习题精解(C语言实现+微课视频)
上QQ阅读APP看书,第一时间看更新

1.3 典型试题精选与解析

1.3.1 典型试题

一、单项选择题

1、研究数据结构就是研究(  )。

A.数据的逻辑结构

B.数据的存储结构

C.数据的逻辑结构和存储结构

D.数据的逻辑结构、存储结构及其基本操作

2、计算机中的算法必须具备输入、输出、(  )等5个特性。

A.可行性、可移植性和可扩充性

B.可行性、有穷性和确定性

C.确定性、有穷性和稳定性

D.易读性、稳定性和确定性

3、算法分析是对一个算法的(  )进行评价。

A.空间复杂度和时间复杂度

B.正确性和简单性

C.可读性和文档性

D.数据复杂性和程序复杂性

4、算法是一种(  )。

A.计算机程序

B.解决问题的计算方法

C.排序算法

D.解决问题的有限运算序列

5、设n是描述问题规模的非负整数,下面程序段的时间复杂度为(  )。

A.O(log2n)

B.O(n)

C.O(nlog2n)

D.O(n2

6、下面程序段的时间复杂度为(  )。

A.O(n)

B.O(3n)

C.O(log3n)

D.O(n3

7、下面程序段的时间复杂度是(  )。

A.O(n)

B.

C.O(log2n)

D.O(n3

8、下面算法的时间复杂度为(  )。

A.O(1)

B.O(n)

C.O(n2

D.O(n!)

9、下列程序段的时间复杂度为(  )。

A.O(n)

B.O(n)

C.O(1)

D.O(n2

10、下面算法的时间复杂度为(  )。

A.O(n)

B.O(nlog2n)

C.

D.

二、填空题

1、通常从四个方面评价算法的质量:_________、_________、_________和_________。

2、数据的逻辑结构指数据对象之间的相互关系,有_________、_________、_________和_________四种。

3、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的_________和运算等的学科。

4、下面程序段中语句s的执行次数为_________。

5、下面程序段的时间复杂度是_________。

A.O(m2

B.O(n2

C.O(n*m)

D.O(m+n)

三、算法分析题

1、一个算法所需时间由下面的递归方程表示,试求出该算法的时间复杂度(以大O形式表示)。

其中,n是问题的规模,设n为2的整数幂。

2、调用下面的函数fun(n),回答以下问题:

(1)试给出fun(n)的返回值,并写出fun(n)值的执行过程。

(2)设n=6,试指出fun(6)值的大小和执行fun(6)时的输出结果。

3、分析下面MergeSort()函数的时间复杂度: