Учитывая этот кусок кода Java:сложности (бесконечные алгоритмы) Calculate алгоритма
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);
}
}
}
Давайте возьмем этот частный случай: the user will always enter any integer except 0
.
1. Может ли я рассматривать этот код как алгоритм?
2.Если да, как рассчитать его сложность?
Благодаря
Хорошо .. задайте следующие вопросы: 1) Что делает этот алгоритм? 2) На каких данных работает этот алгоритм? – Rotem
Имеет ли смысл говорить о своей сложности, когда она даже не заканчивается? Ничего не нужно масштабировать. – harold
Чтобы рассчитать сложность времени, вам нужно знать входные данные. Поэтому, если вы знаете, какая числовая последовательность, заканчивающаяся нулем, пользователь загружает в этот «алгоритм», то он является линейным. Но, честно говоря, нет смысла называть этот алгоритм ... –