实验一 基本概念和时间复杂度

实验一 基本概念和时间复杂度

单选题

2-1 O(mn)
下面代码段的时间复杂度是()。(2分)

for ( i=0; i<n; i++ )
for ( j=0; j<m; j++ )
a[i][j]=0;

2-2 O(n​2​​)
下面代码段的时间复杂度是()。(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=N
N; j>i; j-- )
A += B;
}
else {
for ( i=0; i<N2; i++ )
for ( j=N
3; 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 分)

编程题

7-1 通讯录排序 (20 分)

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值