一、单选
1.数据的(逻辑结构)与数据本身的形式、内容、相对位置、个数无关。
2.以下算法的时间复杂度为( )

这个循环的主要时间消耗是在
while (y > 0),因为它会根据y的初始值执行固定的次数(从2000开始递减)。每次循环检查一次条件并可能修改x和y的值。因此,不考虑if内部条件,循环整体的时间复杂度为O(y),这里y的值是2000,所以实际上是O(2000),只是一个常数阶的函数,此类算法的时间复杂度是O(1)注意:“x--;”单独使用会先返回x当前的值再减1
【例1】如果算法的执行时间不随着问题规模n的增加而增长,即使算法中有上千条语句,其执行时间也不过是一个较大的常数。此类算法的时间复杂度是O(1)。
x=91; y=100;
while(y>0)if(x>100)
{
x=x-10;
y--;
}
else x++;
解答: T(n)=O(1),
这个程序看起来有点吓人,总共循环运行了1000次,但是我们看到n没有?
没。这段程序的运行是和n无关的,
就算它再循环一万年,我们也不管他,只是一个常数阶的函数这段代码是一个循环,循环的次数取决于y的初始值。
由于y的初始值为100,并且在循环中y每次减1,因袭循环执行的次数大约为100次。
循环内的代码执行时间是固定的,不会随着输入规模的变化而变化。
3.线性表的以下运算中,顺序存储结构的实现比链式存储结构高效的是(按序号查找)
元素插入 元素删除 按序号查找 按值查找
顺序存储结构与链式存储结构的比较
1.顺序存储结构:
优点:可以方便地随机访问表中的任意元素
缺点:插入和删除操作需要移动大量元素,效率较低
2.链式存储结构
优点:插入和删除操作只需要修改指针,操作效率高
缺点:不能随机访问,需要顺序访问,访问速度较慢
按序号查找:即按元素的位置查找,顺序存储结构可以直接通过下标访问,而链式存储结构需要从头开始顺序查找,因此顺序存储结构优于链式
按元素值查找需要逐个比较元素值,两者都需要遍历,因此在查找效率上没有明显差异
4.在双向链表存储结构中,删除p所指的节点时须修改指针

最低0.47元/天 解锁文章
9374

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



