[请问] 程式的时间复杂度

楼主: MMaze (Maze)   2020-07-09 15:37:48
帮人代po
想请问以下程式的各行分别的1.执行次数以及2.时间复杂度
以下是否正确?
执行次数 时间复杂度
1 y=x; 1 O(l)
2 z=1; 1 O(1)
3 while (n>0){ log2(n) +1 O(log(n))
4  if (n%2==1) log2(n) O(log(n))
5   z = z*y; log2(n) * (1/2) O(log(n))
6  y=y*y; log2(n) O(log(n))
7  n=n/2; log2(n) O(log(n))
  }
作者: gaaki (结衣酱我的<3)   2020-07-09 18:00:00
功课自己写才会进步唷
作者: Schottky (顺风相送)   2020-07-09 18:04:00
他自己写了,只是在问答案对不对而已第五行的执行次数还是 log2(n) 因为我们看 worst case如果 n 的每一个 bit 都是 1 那每次都会执行到不过这个不影响大局所以我是觉得没有什么重要性.....
楼主: MMaze (Maze)   2020-07-09 18:27:00
楼上非常谢谢你!

Links booklink

Contact Us: admin [ a t ] ucptt.com