文档详情

数据结构练习题.pdf

发布:2024-12-17约2.93万字共19页下载文档
文本预览下载声明

第1章绪论

一、选择题

1.算法的计算量的大小称为计算的()。

A.效率B.复杂性C.现实性D.难度

2.算法的时间复杂度取决于()

A.问题的规模B.待处理数据的初态C.A和B

3.下面说法错误的是()

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

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

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

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

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

4.以下数据结构中,哪一个是线性结构()

A.广义表B.二叉树C.稀疏矩阵D.串

5.在下面的程序段中,对x的赋值语句的频度为()

for(inti=1;i=n;i++)

for(intj=1;i=n;j++)

x+=1;

A.2nB.nC.n2D.logn

2

二、判断题

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

2.算法的优劣与算法描述语言无关,但与所用计算机有关。()

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

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

5.数据结构的抽象操作的定义与具体实现有关。()

三、填空

1.数据的物理结构包括的表示和的表示

2.数据结构中的逻辑结构有(1),(2),(3),__(4)_四种。

3.一个数据结构在计算机中称为存储结构

4.数据结构中评价算法的两个重要指标是

5.一个算法具有5个特性:(1)、(2)、(3),有零个或多个输入、有一个或多个

输出。

6.已知如下程序段,语句1执行的频度为(1);语句2执行的频度为(2);

for(inti=n;i=1;i--){

x=x+1;//语句1

for(intj=n;j=1;j--)

y=y+1;//语句2

}

7.下面程序段中带下划线的语句的执行次数的渐进时间复杂度为

inti=1;while(in)i=i*2;

四、应用题

1.解释和比较以下各组概念

(1)抽象数据类型及数据类型(2)数据结构、逻辑结构、存储结构

(3)抽象数据类型

(4)算法的时间复杂性

(5)算法

(6)频度

2.若有100个学生,每个学生有学号,姓名,平均成绩,采用什么样的数据结构最方便,

写出这些结构?

n

3.有实现同一功能的两个算法A1和A2,其中A1的时间复杂度为Tl=O(2),A2的时间复

2

杂度为T2=O(n),仅就时间复杂度而言,请具体分析这两个算法哪一个好.

4.下列算法对一n位二进制数加1,假如无溢出,该算法的最坏时间复杂性是什么?并分析

它的平均时间复杂性。

intA[n];inti=n;

while(A[i]==1){A[i]=0;i-=1;}

A[i]=1;

5

显示全部
相似文档