Java 如何计算以下代码的时间复杂度? For(int i=1;i

Java 如何计算以下代码的时间复杂度? For(int i=1;i,java,Java,如果n>0:它的时间复杂度是O(∞)因为循环永远不会结束 如果ni/=2?你有一个无限循环,除非n为负。嗨,kiheru。你的意思是这个问题有问题吗?但这是去年的论文。我不明白如何分析来计算时间复杂度。它可能有问题,也可能没有问题。@sasha.sochka给了你一个更完整的答案(我错过了n==0case)。在第一次迭代之后(如果完成了)I==0,因为整数除法1/2==0。 For (int i=1; i <=n;i/=2){ System.out.println(i); }

如果
n>0
:它的时间复杂度是
O(∞)因为循环永远不会结束


  • 如果
    n
    i/=2
    ?你有一个无限循环,除非
    n
    为负。嗨,kiheru。你的意思是这个问题有问题吗?但这是去年的论文。我不明白如何分析来计算时间复杂度。它可能有问题,也可能没有问题。@sasha.sochka给了你一个更完整的答案(我错过了
    n==0
    case)。在第一次迭代之后(如果完成了)
    I==0
    ,因为整数除法
    1/2==0
    For (int i=1; i <=n;i/=2){
       System.out.println(i);
    }