第1章 绪论

发布时间:2023年12月17日

一、选择题

1. 从逻辑结构上可以把数据结构分为( ?c??)。

A. 静态结构和动态结构 ?????B. 紧凑结构和非紧凑结构 ?

C. 线性结构和非线性结构 ???D. 内部结构和外部结构

2. 顺序存储表示中数据元素之间的逻辑关系是由( ??c???)表示的。

A.?指针??????B. 逻辑顺序 ??????C. 存储位置 ??????D. 问题的上下文

3. 链式存储表示中数据元素之间的逻辑关系是由( ??A?)表示的。

A.?指针??????B. 逻辑顺序 ??????C. 存储位置 ??????D. 问题的上下文

4. 若某算法的时间复杂度是O(n2?) ,表明该算法( D?)。

A. 问题规模是n2??????????B. 执行时间是n2????

C. 问题规模与n2成正比 ???D. 执行时间与n2成正比

5. 算法的时间复杂度与(A??)有关。

A. 问题规模 ??????B. 计算机硬件的运行速度 ??

C. 源程序的长度 ??D. 编译后机器代码的质量

6. 算法必须具备( ?B??)这3个特性

A. 可执行性,可移植性,可扩充性?????B. 可执行性,确定性,有穷性??

C. 确定性,有穷性,稳定性 ??????????D. 易读性,稳定性,安全性

7. 下面程序段的时间复杂度为( C???)。

for( i=0; i<m; i++)

???for(j=0; j<n; j++)

???????a[i][j]=i*j;

A. O(m2)???????B. O(n2)????????C. O(m×n)??????D. O(m+n)

8. 以下程序段中,S语句的执行次数是( ?C?) ??

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

??for(j=i; j<=n; j++)

??????S;

A. ?n ???B. n2???C. n(n+1)/2 ????D. n(n+1)

二、填空题

1. 数据元素之间的4种基本结构是:集合、?图结构???????树结构??????线性结构????

2. 线性结构中元素的关系是一对一,树形结构中元素的关系是?一对多????????,图形结构中元素的关系是???多对多???????

3. 顺序存储结构中数据元素的存储位置与其???元素在数组的下标?????是对应的。

4. 算法效率的度量方法有:事后统计方法和??事前分析估算的方法法????????????

5. 一个好算法应达到的目标有:?正确性??????可读性??????健壮性???????效率???????低存储量????

6. 抽象数据类型可细分为3种:??原子类型??????固定聚合类型???????可变聚合类型???????

7. 抽象数据类型的定义一般包括3方面:?数据对象??????????数据关系??????????基本操作???????

三、判断题

1. 数据结构主要研究非数值型数据。(??对)

2. 数据的逻辑结构相同则对应的存储结构也相同。(错??)

3. 数据的逻辑结构独立于其存储结构。( 对?)

4. 数据元素是数据的最小单位。( 错?)数据项

5. 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。( 对?)

6. 数据的逻辑结构与数据元素本身的内容和形式无关。(对??)

7. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。( 错?)数据元素

8. 抽象数据类型只是一个数学模型。( 错?)

9. 算法和程序原则上没有区别,在 讨论数据结构时二者是通用的。( 错?)

10. 数据结构是数据元素的集合和该集合中各数据元素之间关系的集合。( 对?)

11. 顺序存储方式只能用于线性结构,不能用于非线性结构。( 错?)

四、简答题

1. 什么是数据结构,写出数据结构的形式定义。

2. 什么是算法,算法的5个特性是什么?

3. 数据的逻辑结构分为线性结构和非线性结构,这两类结构各自的特点是什么?

五、应用题

1. 按增长率从小到大的顺序排列下列各函数:

n2,n,

,n!,(2/3)n 。 ?

2. 写出以下各函数的功能,并求出其时间复杂度。

(1) int fun1(int n)

{ ??int ?i, x;

i=2; ???????x=(int )sqrt(n);

while(i<=x)

{ ?if (n%i==0) ?break;

???i++;

}

if ( i>x) return 1; ???

else ?return 0;

}

(2) int fun2(int n)

???{ ?int i, p=1, sum=0;

??????for( i=1; i<=n; i++)

???????{ ??p=p*i;

???????????sum=sum+p;

???????}

??????return(sum);

???}

(3) int fun3(int n)

{ ?int i, j, p, sum=0;

??????for( i=1; i<=n; i++)

??????{ ?p=1;

?????????for(j=1; j<=i; j++)

????????????p=p*j;

?????????sum=sum+p;

??????}

return(sum);

???}

????????

文章来源:https://blog.csdn.net/2301_80429791/article/details/135051456
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。