Time complexity 循环中函数为*的函数的时间复杂度

Time complexity 循环中函数为*的函数的时间复杂度,time-complexity,Time Complexity,您能帮我找出以下函数的复杂性吗: proc (int n) { for (i=0 ; i<n ; i++) { x = g(n)+f(n) ; for (j=0 ; j<n ; j++) { y=h(j)*g(j) ; } } return x+y ; } proc(int n) { 对于(i=0;x=O的ibigo(n^2) y的大O=O(n对数(n)) 现在要计算整个算法的大O,我们必须看最里面的循环,在这种情况下,最里面的循环

您能帮我找出以下函数的复杂性吗:

proc (int n) 
{
 for (i=0 ; i<n ; i++)
 {
   x = g(n)+f(n) ;
   for (j=0 ; j<n ; j++)
    {
      y=h(j)*g(j) ;
    }
  }
return x+y ;
}
proc(int n)
{
对于(i=0;x=O的ibigo(n^2)
y的大O=O(n对数(n))
现在要计算整个算法的大O,我们必须看最里面的循环,在这种情况下,最里面的循环包含在y=h(j)*g(j)中。
大O可以从最低值开始计算,然后向上计算。
x的大O将被相加而不是相乘,因为它与内部for循环处于同一级别

Big O = O(n log(n)) * O(n) * O(n) + O(n^2) It can be written as: Big O = O ((n log(n) * n * n) + (n * n^2)) Big O = O((n^3 log(n) + n^3) Neglecting smaller terms would give us: Big O = O(n^3 log(n)) 大O=O(n对数(n))*O(n)*O(n)+O(n^2) 它可以写成: 大O=O((n对数(n)*n*n)+(n*n^2)) 大O=O((n^3对数(n)+n^3) 忽略较小的条款将使我们:
大O=O(n^3 log(n))内部循环的复杂性(h*g的和)

由于
h(j)=Θ(log(j))
g(j)=O(j)
,因此
h(j).g(j)
的复杂性是
O(j.log(j))
,即
0。因此,内环产生

   K.(1.log(1) + 2.log(2) + ... + (n-1).log(n-1))
<= K'.n^2.log(n)
K.(1.log(1)+2.log(2)+…+(n-1.log(n-1))

欢迎来到StackOverflow!一定要带上并访问。我认为这个问题更适合。你可能想在那里搜索一下。
   K.(1.log(1) + 2.log(2) + ... + (n-1).log(n-1))
<= K'.n^2.log(n)