2021年真题

一、单选

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所指的节点时须修改指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值