数据结构第二次上机题
1.逻辑结构与时间复杂度基础知识
2-1 关于逻辑结构
数据结构可以从逻辑上分成 ▁▁C▁▁▁ 两大类。
(5分)
A.动态结构和静态结构
B.紧凑结构和非紧凑结构
C.线性结构和非线性结构
D.内部结构和外部结构
2-2 数据逻辑结构可以分为(B )。
A.线性结构和图结构
B.集合结构、线性结构、树结构和图结构
C.顺序结构和链式结构
D.集合结构和非线性结构
2-3 算法分析的两个主要方面是( A )。
(5分)
A.空间复杂度和时间复杂度
B.正确性和简明性
C.可读性和文档性
D.数据复杂性和程序复杂性
2-4 算法设计的要求设计一个好的算法应该满足正确性、▁▁▁B▁▁、健壮性和高效性等要求。
A.稳定性
B.可读性
C.可靠性
D.可行性
2-5 算法的特性一个算法必须满足有限性、确定性、▁▁▁C▁▁、输入和输出等五个重要特性。
A.高效性
B.稳定性
C.可行性
D.可读性
2-6 执行下面程序段时,执行S语句的频度为(D)。
for(int i=0;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
2-7 下列程序段的时间复杂度为(B)。
x = n; /*n > 1*/
y = 0;
while(x >= (y + 1) * (y + 1))
y = y + 1;
A.Θ(n)
B.Θ(n½)
C.Θ(1)
D.Θ(n2)
2-8 时间复杂度分析
下面算法的时间复杂度为 ▁▁▁▁▁。
int foo(int n)
{
int i, s = 0;
for (i = 1; i * i <= n; ++i)
{
s += i;
}
return s;
}
A.O(n2)
B.O(n)
C.O(n½)
D.O(log2n)
2-9 时间复杂度分析
下面算法的时间复杂度为 ▁▁D▁▁▁。
int foo(int n)
{
int i, j, s = 0;
for (i =<

本文介绍了数据结构的逻辑分类,包括线性结构和非线性结构,并探讨了时间复杂度的基本概念。同时,提供了数组中按值查找元素的算法实现,以及寻找数组中最大值和次大值的方法。通过具体实例分析了不同算法的时间复杂度,强调了算法效率和可读性的重要性。
最低0.47元/天 解锁文章
1305

被折叠的 条评论
为什么被折叠?



