Complexity theory 一个简单伪码函数的渐近复杂性

Complexity theory 一个简单伪码函数的渐近复杂性,complexity-theory,Complexity Theory,我想了解如何推导这个函数的渐近运行时间 输入:数组A包含n个整数A[1]到A[n] 输出:二维n×n数组B,其中B[i,j]表示i这在某种程度上取决于您如何实现通过A[j]添加数组条目A[i]: for i = 1 to n for j = i to n sum = 0 for k = i to j sum = sum + A[i] b[i,j] = sum return b 上面是O(n^3)和ω(n^3),因此

我想了解如何推导这个函数的渐近运行时间

输入:数组A包含n个整数A[1]到A[n]
输出:二维n×n数组B,其中B[i,j]表示i这在某种程度上取决于您如何实现
通过A[j]添加数组条目A[i]

for i = 1 to n
    for j = i to n
        sum = 0
        for k = i to j
            sum = sum + A[i]
        b[i,j] = sum
return b
上面是O(n^3)和ω(n^3),因此是θ(n^3)。但是,如果以不同方式计算
sum

for i = 1 to n
    sum = 0
    for j = i to n
        sum = sum + A[i]
        b[i,j] = sum
return b
这是O(n^2),ω(n^2)和θ(n^2)。对于您的特定问题-O和Omega通常是相同的(也就是说,您通常会得到θ界),如果您在基于简单代码的问题中进行运行时分析。θ边界是查看特定实现时的规则,而不是例外

for i = 1 to n
    sum = 0
    for j = i to n
        sum = sum + A[i]
        b[i,j] = sum
return b