当前位置:文档之家› 第一章测试题参考答案

第一章测试题参考答案

第一章测试试题参考答案
一、单选题
1.一个数组元素a[i]与____A____的表示等价。

A、*(a+i)
B、a+i
C、*a+i
D、&a+i
2.下面程序段的时间复杂度为____C________。

for(int i=0; i<m; i++)
for(int j=0; j<n; j++) a[i][j]=i*j;
A、O(m2)
B、O(n2)
C、O(m*n)
D、O(m+n)
3.执行下面程序段时,执行S语句的次数为_____D_____。

for(int i=1; i<=n; i++)
for(int j=1; j<=i; j++) S;
A、n2
B、n2/2
C、n(n+1)
D、n(n+1)/2
4.下面算法的时间复杂度为______B______。

int f( unsigned int n )
{ if ( n==0 || n==1 ) return 1; else return n*f(n-1); }
A、O(1)
B、O(n)
C、O(n2)
D、O(n!)
二、填空题
1.数据的逻辑结构被分为__集合__、___线性结构__、_树形结构_和____图状结构_四种。

2.数据的存储结构被分为_顺序存储结构___和_____链式存储结构_____两种。

3.在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着__一对一___、
___一对多_____和__多对多__的联系。

4.一种抽象数据类型包括__数据模型(数据对象及数据关系)_和_该模型上的操作两个部分。

5.当一个形参类型的长度较大时,应最好说明为_指针或引用型____,以节省参数值的传输时间和存储参数的空间。

6.当需要用一个形参访问对应的实参时,则该形参应说明为__指针或引用型___。

7.在函数中对引用形参的修改就是对相应__实参___的修改,对__值型__形参的修改只局限在该函数的内部,不会反映到对应的实参上。

8.一个数组a所占有的存储空间的大小即数组长度为___sizeof(a)____,下标为i的元素a[i]的存储地址为__a+i______,或者为____a+i*sizeof(a[0])___。

9.从一维数组a[n]中顺序查找出一个最大值元素的时间复杂度为__O(n)___,输出一个二维数组b[m][n]中所有元素值的时间复杂度为__O(mn)__。

10.在下面程序段中,s=s+p语句的执行次数为___n___,p*=j语句的执行次数为__n(n+1)/2_,该程序段的时间复杂度为__O(n2)____。

int i=0,s=0;
while(++i<=n) {
int p=1;
for(int j=1;j<=i;j++) p*=j;
s=s+p;}
11.一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为___O(n)___。

相关主题