全部问题 > 当前问题

应该是比较m-21次吧?

莫彩霞 2016-2-28 11:31:47

共 4 个回答

最佳答案

青栀如初 2016-2-28 16:05:02

亲爱哒

不好意思,刚刚才看到题

我们说:当front<rear,队列中元素个数为rear–front
当front>rear,队列中元素个数为m–front+rear
当front=rear,队列为空或满,即队列中元素个数为0或m。
然后,你再看题目中说:front=30,rear=10,也就是
front> rear,那么队列中哒元素个数为:

m-front+rear=m-30+10=m-20个元素

    然后我们再来看题:题目中问的我们是顺序查找,最坏情况下需要比较的次数,注意是“顺序查找”那么就是说:在最坏情况下需要比较的次数=循环队列中元素的个数=m-20

   所以我们说这道题选择D选项就可以了

   亲爱哒“望采纳哟!”如果以后还有什么不懂哒问题我们还可以一起讨论哟,相信我们一定会把问题解决哒,么么哒亲爱哒!  

 

郭辉 2016-2-28 20:01:11

对着呢,就是m-20,有公式。

莫彩霞 2016-3-1 11:03:18

回复 郭辉:嗯嗯,现在明白了。

莫彩霞 2016-3-1 11:04:06

回复 青栀如初:好的,我明白了,谢谢你啦!

问题来自: 队列
设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为( )
A. 19
B. 20
C. m-19
D. m-20
答案:D
解析:初始状态为front=rear=m,即m-m=0,此时队列为空。经过一系列入队与退队运算后,front=30,rear=10。队尾小于对头,则队尾减去对头加上容量等于m-20个元素。题目要求按顺序查找,所以最坏情况下需要比较的次数为m-20次。因此选择D。