【笔试强训选择题】Day22.习题(错题)解析

作者简介:大家好,我是未央;

博客首页:未央.303

系列专栏:笔试强训选择题

每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!

文章目录

前言

一、Day22习题(错题)解析

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

总结



前言


一、Day22习题(错题)解析

1.

 解析:A

相关知识点:

顺序表在存取任意元素时候,时间复杂度为O(1);

顺序表在最后进行插入或者删除元素时候,时间复杂度也是O(1);

所以最节省时间;


2.

解析:C

相关知识点:

记忆功能的含义:比如浏览器的回退功能;文本编辑器的撤销操纵都属于记忆功能;

而对与栈来说有LIFO特性:

例如A函数调用B函数,B函数调用C函数;


3.

 解析:A

解题思路:

数组长度就是M长度, 对于循环队列来讲,要浪费一个空间用来判断队列是否已满;

满足条件有:  a.能存储的元素个数为M-1     b.最终判断是否已满mod M

判断队列是否为空的两个条件:

end1 == end2为空;

end1 == (end2 + 1);


4.

 解析:A

相关知识点:

比如我们的快速排序和归并排序,在递归的终止条件l是区间最左侧,r是区间最右侧;

终止条件:( l>= r) {return ;}

//在递归终止条件处进行优化;

//当区间个数较小时,采用插入排序米优化(r - l <= 15)=>采用插入排序;


尾递归是指:在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。 尾递归调用时,如果做了优化,栈不会增长,因此,无论多少次调用也不会导致栈溢出。 遗憾的是,大多数编程语言没有针对尾递归做优化。


5.

 解析:C

相关知识点:


6.

 解析:D

相关知识点:

用到队列的遍历为层序遍历;

前中后遍历借助的是栈;


7.

 解析:C

相关知识点:

topk问题:在一组数据中找到前k个大元素;都是属于堆,优先级队列;


8.

解析:C

相关知识点:
Hash表插入操作的平均时间复杂度是O(n);


9.

 解析:D

解题思路:
当两个有序的子区间个数都是n;

最好的情况为第二个区间都比第一个区间大;

则只需要比较n次即可;


10.

 解析:A

相关知识点:

数组的逆序:

解题思路:

总结

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值