我得到了一个简单的伪代码,并通过计算其执行的大约操作数来确定方法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是上限。
如果这是为了说一些学校作业,如果您的界限不紧张,您可能不会获得标记。