Algorithm 如何找到任何算法的大O/时间复杂度

Algorithm 如何找到任何算法的大O/时间复杂度,algorithm,complexity-theory,Algorithm,Complexity Theory,全部, 我发现自己在寻找给定代码/算法的复杂性时总是心存疑虑。前 FOR I=1 TO N do J=1 WHILE J*J < I do J=J+1 I=1到N的 J=1吗 而J*J

全部,

我发现自己在寻找给定代码/算法的复杂性时总是心存疑虑。前

FOR I=1 TO N
do J=1
WHILE J*J < I
do J=J+1
I=1到N的

J=1吗
而J*J
上述代码的时间复杂度为
大θ(N^(3/2))
。然而,我不明白答案是如何得出的


有没有人能指导我找到复杂性的步骤或任何可以帮助我的特定资源?大多数时候,我只发现代码的复杂性
N,lg N,N lg N
N^2
方法总是一样的:计算出作为N的函数执行的操作数,然后扔掉低阶项和常量


在上面的例子中,内部循环迭代大约sqrt(I)次,所以我们有(大约)sqrt(1)+sqrt(2)+sqrt(3)+。。。结果是一个最高阶项为N^(3/2)的函数。

你给出的例子不是大的,哦,是大的θ。