单选题
2-1 O(mn)
下面代码段的时间复杂度是()。(2分)
for ( i=0; i<n; i++ )
for ( j=0; j<m; j++ )
a[i][j]=0;
2-2 O(n2)
下面代码段的时间复杂度是()。(2分)
s=0;
for ( i=0; i<n; i++ )
for( j=0; j<n; j++ )
s+=B[i][j];
sum=s;
2-3 O(n2)
下面代码段的时间复杂度是()。(2分)
x=0;
for( i=1; i<n; i++ )
for ( j=1; j<=n-i; j++ )
x++;
2-4 无限次
下面的这个循环的循环次数是( )。(2分)
for(int i=0,j=10; i=j=10; i++,j--)
2-5 错了
数据结构(实例)(1分)
观察下面的数据结构
DS=( D,R )
D={ 17,23,45,52,63 }
R={ r }
r={ ⟨ 17,23 ⟩,⟨ 23,45 ⟩,⟨ 45,52 ⟩,⟨ 52,63 ⟩ }
它是 ▁▁▁▁▁。
2-6 图状结构
数据结构(实例)(1分)
观察下面的数据结构
DS=( D,R )
D={ 17,23,45,52,63 }
R={ r }
r={ ⟨ 17,23 ⟩,⟨ 17,45 ⟩,⟨ 23,45 ⟩,⟨ 45,52 ⟩,⟨ 45,63 ⟩,⟨ 52,23 ⟩,⟨ 52,63 ⟩ }
它是 ▁▁▁▁▁。
2-7
数据结构(实例)(1分)
观察下面的数据结构
DS=( D,R )
D={ 17,23,45,52,63 }
R={ r }
r={ ⟨ 17,23 ⟩,⟨ 17,45 ⟩,⟨ 23,52 ⟩,⟨ 23,63 ⟩ }
它是 ▁▁▁▁▁。
2-8 A
以下关于数据结构的说法中错误的是( )。(2分)
A.数据结构相同,对应的存储结构也相同
B.数据结构涉及数据的逻辑结构、存储结构和施加其上的操作3个方面
C.数据结构操作的实现与存储结构有关
D.定义逻辑结构时可不考虑存储结构
2-9 A
以下关于数据结构的说法中正确的是( )。(2分)
A.数据结构的逻辑结构独立于其存储结构
B.数据结构的存储结构独立于该数据结构的逻辑结构
C.数据结构的逻辑结构唯一地决定了该数据结构的存储结构
D.数据结构仅由其逻辑结构和存储结构决定
2-10 D
从逻辑上可将数据结构分为( )。(2分)
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.内部结构和外部结构
D.线性结构和非线性结构
2-11 C
以下属于逻辑结构的是( )。(2分)
A.顺序表
B.散列表
C.有序表
D.单链表
2-12 O(N4)
下列代码
if ( A > B ) {
for ( i=0; i<NN/100; i++ )
for ( j=NN; j>i; j-- )
A += B;
}
else {
for ( i=0; i<N2; i++ )
for ( j=N3; j>i; j-- )
A += B;
}
的时间复杂度是:
2-13 O(N1/2)
下列函数
int func ( int n )
{ int i = 0, sum = 0;
while ( sum < n ) sum += ++i;
return i;
}
的时间复杂度是:
2-14 D
算法的时间复杂度取决于( )。(1分)
A.问题的规模
B.待处理数据的初态
C.计算机的配置
D.A和B
2-15 A
下面的程序段违反了算法的()原则。
void sam()
{ int n=2;
while (n%2==0) n+=2;
printf(“%d”,n);
}
A.有穷性
B.确定性
C.可行性
D.健壮性
2-16 C
在存储数据时,通常不仅要存储各数据元素的值,而且还要存储()。(2分)
A.数据的处理方法
B.数据元素的类型
C.数据元素之间的关系
D.数据的存储方法
2-17 O(N1/2)
下列程序的时间复杂度为()。
i = 0; s = 0;
while(s < n)
{
i++;
s = s + i;
}
2-18 O(m × n × t)
下面程序的时间复杂度为()。
for(i = 0; i < m; i++)
for(j = 0; j < t; j++)
c[i][j] = 0;
for(i = 0; i < m; i++)
for(j = 0; j < t; j++)
for(k = 0; k < n; k++)
c[i][j] = c[i][j]+a[i][k] * b[k][j];
2-19 错了
下列程序段的时间复杂度为()。
i = 1; k = 0; n = 100;
do{
k = k + 10 * i;
i = i++;
}while(i != n)
2-20 O(N1/2)
下列程序段的时间复杂度为()。
x = n; /n > 1/
y = 0;
while(x >= (y + 1) * (y + 1))
y = y + 1;
函数题
6-1 整数数组-总和() (10 分)
6-2 求数组最大值() (10 分)
6-3 统计奇数() (10 分)
6-4 统计个位为8的数() (10 分)
6-5 计算天数[2] (15 分)