我浏览了我的大学发布的过去的论文,但由于某些奇怪的原因,他们没有为他们发布示例解决方案。
我只是想知道我是否正确完成了这段伪代码的复杂性分析。
这是伪代码(抱歉imgur链接,pdf搞砸了语法格式):http://i.stack.imgur.com/vGst2.png
当我进行分析时,我得到了O(n ^ 4)。主要是循环中输入的平方和立方让我感到困惑,我们没有在课堂上覆盖它,我无法在其上找到任何在线资源。
答案 0 :(得分:1)
假设“display(i,j)”是在恒定时间(或单个操作)完成的,并且我们不计算增加变量的任何成本,那么总成本是:
N *((N ^ 3 - 4)+(N ^ 2 + 1))= N ^ 4 + N ^ 3 - 3N
你是正确的,它是O(N ^ 4)。这是因为(对于足够大的N)N ^ 4 + N ^ 3 - 3N <= 2N ^ 4.