Big o 大O算法
我有一个非常简单的问题,但是我有点不确定实际的运行时间(例如Big-O)是什么 程序看起来是这样的Big o 大O算法,big-o,Big O,我有一个非常简单的问题,但是我有点不确定实际的运行时间(例如Big-O)是什么 程序看起来是这样的 n <- user input for i=1 to n foo(i) foo a: for i=1 to a foo2() n对于每个整数0对于每个整数0对于每个整数0对于每个整数0(假设内部函数foo2()为Θ(1)) 它是Θ(n^2),因为外循环是一次执行的i=1…n,而内循环在每个外循环迭代中被迭代i,这使得从i=1到n执行foo2()的次数总和i,等于(n+1)
n <- user input
for i=1 to n
foo(i)
foo a:
for i=1 to a
foo2()
n对于每个整数0对于每个整数0对于每个整数0对于每个整数0(假设内部函数foo2()
为Θ(1))
它是Θ(n^2),因为外循环是一次执行的i=1…n
,而内循环在每个外循环迭代中被迭代i
,这使得从i=1到n
执行foo2()
的次数总和i,等于(n+1)*n/2=1/2*n^2+1/2*n
次
Θ(n^2)表示O(n^2)。(假设内部函数foo2()
为Θ(1))
它是Θ(n^2),因为外循环是一次执行的i=1…n
,而内循环在每个外循环迭代中被迭代i
,这使得从i=1到n
执行foo2()
的次数总和i,等于(n+1)*n/2=1/2*n^2+1/2*n
次
Θ(n^2)表示O(n^2)。(假设内部函数foo2()
为Θ(1))
它是Θ(n^2),因为外循环是一次执行的i=1…n
,而内循环在每个外循环迭代中被迭代i
,这使得从i=1到n
执行foo2()
的次数总和i,等于(n+1)*n/2=1/2*n^2+1/2*n
次
Θ(n^2)表示O(n^2)。(假设内部函数foo2()
为Θ(1))
它是Θ(n^2),因为外循环是一次执行的i=1…n
,而内循环在每个外循环迭代中被迭代i
,这使得从i=1到n
执行foo2()
的次数总和i,等于(n+1)*n/2=1/2*n^2+1/2*n
次
Θ(n^2)表示O(n^2)