请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于testQueue时间复杂度

【问题】

在视频第8分钟,提到testQueue的时间复杂度,对于ArrayQueue来说,enqueue时间复杂度是0(1),dequeue时间复杂度是O(n),这个理解,不理解为什么由前面可以推导出testQueue的时间复杂度是O(n^2)。

我理解当N无穷大时,enqueue的时间(因为O(1)是个常数)可以忽略,所以testQueue的时间复杂度等于O(n),麻烦老师看看我理解哪里有问题,谢谢。

正在回答

1回答

因为每一次dequeue时间复杂度是O(n),而testQueue用for循环dequeue了n次,所以是O(n^2) .

0 回复 有任何疑惑可以回复我~
  • 提问者 kxning #1
    非常感谢,理解了。
    回复 有任何疑惑可以回复我~ 2018-04-22 22:10:08
  • 谢谢你的回答:)
    回复 有任何疑惑可以回复我~ 2018-04-23 02:58:17
  • liuyubobobo 回复 提问者 kxning #3
    是的:)我说的O(n^2),是对于整个testQueue这个方法计算的,而不是我们队列中的一次操作:)
    回复 有任何疑惑可以回复我~ 2018-04-23 02:58:56
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信