计算算法的复杂性(无限算法)

MCH*_*ppy 4 algorithm complexity-theory

考虑这段Java代码:

import java.util.Scanner;

class BreakWhileLoop {
  public static void main(String[] args) {
    int n;

    Scanner input = new Scanner(System.in);

    while (true) {
      System.out.println("Input an integer");
      n = input.nextInt();

      if (n == 0) {
        break;
      }
      System.out.println("You entered " + n);
    }
  } 
}
Run Code Online (Sandbox Code Playgroud)

让我们来看看这个特例:the user will always enter any integer except 0.

1.我可以将此代码视为算法吗?

2.如果是,如何计算其复杂性?

谢谢

Yve*_*ust 6

为了避免琐碎的答案,让我们通过删除except 0条件来放松问题陈述.

然后是的,这是一个算法,我们可以称之为0 acceptor.

假设用户输入需要一定的时间,所述时间复杂度是O(N)其中N是非零序列的长度.