您好,我在图片中有2个功能。问题是如何获得运行时间。
EX4功能的答案是O(n ^ 2),EX5是O(n ^ 4)。 我不明白。
EX4问题:
我们有内部循环,从j = 0到i开始。从我的角度来看,这相当于" 1 + 2 + ... + n"所以是" n(n + 1)/ 2"因此,O(n ^ 2 )仅适用于内循环。 但是,我们也知道外循环从i = 0到n运行,即O(n)。所以我认为EX4的答案实际上是" O(n)* O(n ^ 2)= O(n ^ 3)"。但真正的答案是O(n ^ 2)。那是为什么?
EX5问题:
同样,我认为它是" n *(n + 1)/ 2 = O(n ^ 2)"对于内环并且也是" n * n = O(n ^ 2)"对于外循环,所以整个运行时变为O(n ^ 2)* O(n ^ 2)= O(n ^ 4),这与该问题的实际答案相同。但如果我以这种方式证明这一点,那么我对EX4的解决方案没有意义。为什么它是O(n ^ 4)?