确定程序的大运行时间:如果调用单独的功能,我也将操作包括在其中



我得到了一个简单的伪代码,并通过计算其执行的大约操作数来确定方法myMethod((的大o运行时间。但是,如果在函数中调用另一个函数,我是否将操作包括在其中,作为myMethod((运行时间的一部分?

的运行时间的一部分

我一直在互联网上寻找答案,但到目前为止没有运气,所以我希望有人能够在这里帮助我。谢谢你

static int doIt(int n)
{
  count = 0
  j=1
  while j < n 
  {
   count = count +1
   j=j+2
  }
   return count
}

static int myMethod (int n)
{
  i = 1 
  while(i<n) 
 {
   dolt(i) 
   i = ix2 
 }
  return 1; 
}

是的,您的运行时取决于所调用的所有内容,除非 指令否则。您从这些功能中所拥有的成本也通过评估功能的成本来缩放。

例如,您的底部功能具有一个lier循环,该循环围绕lg n倍。然后,您还必须根据输入来评估运行时将如何更改,因为您对您进行的函数调用也将因输入而有所不同。由于它是大oh,因此您可以设置一个上限并为所有调用做假设,但是您的界限可能不会紧。尽管从理论的角度来看,这是可以的,因为大oh是上限。

如果这是为了说一些学校作业,如果您的界限不紧张,您可能不会获得标记。

相关内容

最新更新