Algorithm 算法运行时间分析

Algorithm 算法运行时间分析,algorithm,time-complexity,Algorithm,Time Complexity,是否有任何书面规则来确定代码的运行时间? 我必须在外循环和内循环中使用哪些算术操作? java语言中的一种方法,例如: public static void mystery1(int n){ int k=n;// here I know that it’s O(1) while(k>2){//O(k) System.out.println(k); k=(int)(Math.pow(k,1/3)); } } public static void dunno1(int n){ int i,j

是否有任何书面规则来确定代码的运行时间? 我必须在外循环和内循环中使用哪些算术操作? java语言中的一种方法,例如:

public static void mystery1(int n){
int k=n;// here I know that it’s O(1)
while(k>2){//O(k)
System.out.println(k);
k=(int)(Math.pow(k,1/3));
}
}

public static void dunno1(int n){
int i,j;
for(i=1;i<=n;i++){// Do I use multiplication between those loops?
   for(j=1;j<=i;j++){
       mystery1(n)n
   }
 }
}
publicstaticvoidmystery1(intn){
int k=n;//这里我知道它是O(1)
而(k>2){//O(k)
系统输出println(k);
k=(int)(数学功率(k,1/3));
}
}
公共静态无效dunno1(内部n){
int i,j;

对于(i=1;i,您可以使用
System.nanoTime()
计算程序(java)的运行时:


关于嵌套的
for
循环的复杂性,您可以看到这一点。

您的研究表明了什么?此外,我们可以期待这是一个常见问题。在考虑发布之前,请阅读手册并用谷歌搜索任何错误消息或您的问题/问题/目标的许多清晰、简洁和准确的措辞,有没有特定的字符串/姓名和网站:stackoverflow.com&tags;阅读许多答案。如果你发布了一个问题,请使用一个短语作为标题。反映你的研究。请参阅文本上方的投票箭头(&T)。
long startTime = System.nanoTime();

.....your program....

long endTime   = System.nanoTime();
long totalTime = endTime - startTime;
System.out.println(totalTime);