Анализ времени выполнения алгоритма - PullRequest
0 голосов
/ 26 апреля 2020

Существуют ли письменные правила для определения времени выполнения кода? Какие действия арифметика c я должен использовать во внешних и внутренних циклах? Метод на 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
   }
 }
}

Спасибо.

1 Ответ

0 голосов
/ 26 апреля 2020

Вы можете рассчитать время выполнения вашей программы (java), используя System.nanoTime():

long startTime = System.nanoTime();

.....your program....

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

А что касается сложности вложенных циклов for, вы можете увидеть этот Ответ .

...