关于一些表、栈的题目(题目摘自牛客网)

关于一些表、栈的题目(题目摘自牛客网)
害,是个该写博客的年纪了。(小声**)
最近一直在牛客网上刷一些数据结构的题。(桔子数据结构很菜…)
有点头秃…
不过虽然过程很艰难,但是也从中学到了东西。
今天就来分享几道题目,和大家共勉。
话不多说,上图:
Num1:
关于一些表、栈的题目(题目摘自牛客网)没做过的猿或媛可以思考一哈。
下面是解析:
刚看到这一题的时候,基本上答案脱口而出,最大不应该就是n2吗。
但是并没有这个答案!!
发觉事情并不对劲,
苦思冥想了老半天,想不出来一个为啥不是n2(n的平方,下同)的一个理由(u点迷)。????
为啥不是n2呢?
然后,当我献出了头发之力。
哦呦,了然了。
首先,他是两组各有n个元素的有序表,这三字就很重要。有序表,有序表,有序表。默念三遍。
想必认为答案是n2的都是这样想的,
假如第一组插入进第二组进行有序排序,
第一组的所有元素都小于第二组的元素,
这样就…嗯…
事情开始不对劲了,然后肯定会想:不可能是n2啊
对咯,当第一组的第一个元素小于第二组的元素时,就不会向后比较喽。
其实这样比对起来,次数为n,是要小于最多次数的。
现在来说,最多次数的一种情况: 一组中的所有元素都小于另一组中的序号对应的元素。
那就是一个要插入的那一组的元素要跟被插入的那一组的元素进行两次比较,
可以用 举个栗子来更好的说明:
A组:1,3,5
B组:2,4,6
经过比较你会发现,进行了5次比较,
同理 n 个元素的话
不难推出 总次数为2n-1.
完毕 哈哈哈。
这是第一题,做对的猿(媛)们,把做对了留在评论席,嘿嘿。
接着,
Num2:
关于一些表、栈的题目(题目摘自牛客网)
没做过的猿或媛可以思考一哈。
答案为:C
原因就是:
在一个顺序容器中,如果这个容器前端或者中间的元素被删除,那么在这个被删除元素之后的元素都会向前移动一位。
很简单吧,把做对了打在评论席上!!
然后,最后一题来啦。
关于一些表、栈的题目(题目摘自牛客网)惯例惯例:没做过的猿或媛可以思考一哈。
我要公布正确答案啦,要公布了。
正确答案为:C
仔们做的情况怎么样呢?欢迎在评论区留言,交流。
解析:
我们把问题简化一下,思路就会变得清晰
当一个顺序栈存储空间S(0:6)时,栈底指针bottom=6,栈顶指针top=2。
如下图:
关于一些表、栈的题目(题目摘自牛客网)好啦,分享到此结束。
tips:
可能有人会说,哇 这题好简单啊或者好美水平啊之类的话。
但是桔子也不是什么大牛,也只是想和大家分享一些东西,一起交流,共同努力。
所以大神们不要喷我,兴许帮助到一些人了呢,对叭。
码字不易,大家给个赞,留些评论吧。(傻笑)