Algorithm 有人能评估这个函数的时间复杂度吗

Algorithm 有人能评估这个函数的时间复杂度吗,algorithm,time,complexity-theory,Algorithm,Time,Complexity Theory,我的答案是O(n^3),但当我试图用西格玛符号找到它时,结果总是O(n^2) 原始问题: 以下算法返回什么值?它的基本操作是什么?如何 基本操作执行了很多次?给出最坏情况下的运行时间 使用大Oh表示法的算法。tldr:该算法位于O(n^3)中 为什么? 计算r的频率 function (n) input : an integer n r ← 0 for i = 1 to n //runs n times for j = i + 1 to n // runs n^2

我的答案是O(n^3),但当我试图用西格玛符号找到它时,结果总是O(n^2)

原始问题:

以下算法返回什么值?它的基本操作是什么?如何
基本操作执行了很多次?给出最坏情况下的运行时间

使用大Oh表示法的算法。

tldr:该算法位于
O(n^3)


为什么? 计算
r的频率
function    (n)
input : an  integer n
r ← 0
for i = 1 to n  //runs n times
    for j = i   + 1 to n     // runs n^2 times
           for k = i + j − 1 to n   //runs n^3 times
                r ← r + 1
return r
int n = 10;

int r = 0;
for (int i = 1; i <= n; i++) {
    for (int j = i + 1; j <= n; j++) {
        for (int k = i + j - 1; k <= n; k++) {
            r++;
        }
    }
}
i = 1 -> k = 2, 3, 4, 5, 6, ..., n
i = 2 -> k =       4, 5, 6, ..., n, (n+1)
i = 3 -> k =             6, ..., n, (n+1), (n+2)
  .
  .
  .
i = n -> k =                  (n+(n-2))
2, 3, 4, 5, 6, 7, 8, 9, 10 
      4, 5, 6, 7, 8, 9, 10, 11
            6, 7, 8, 9, 10, 11, 12
                  8, 9, 10, 11, 12, 13
                        10, 11, 12, 13, 14
                                12, 13, 14, 15
                                        14, 15, 16
                                                16, 17
                                                        18
2, 3, 4, 5, 6, 7, 8, 9, 10| 
      4, 5, 6, 7, 8, 9, 10|, 11
            6, 7, 8, 9, 10|, 11, 12
                  8, 9, 10|, 11, 12, 13
                        10|, 11, 12, 13, 14
                          |     12, 13, 14, 15
                          |             14, 15, 16
                          |                    16, 17
                          |                           18
9, 8, 7, 6, 5, 4, 3, 2, 1
      7, 6, 5, 4, 3, 2, 1
            5, 4, 3, 2, 1
                  3, 2, 1
                        1
9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1
      + 7 + 6 + 5 + 4 + 3 + 2 + 1
              + 5 + 4 + 3 + 2 + 1
                      + 3 + 2 + 1
                              + 1
sum_{i = 1}^{n - 1} ceil((n - i) / 2) * i
n^3 / 12 - n / 12