Мне нужно немного помочь с проблемой. Я только начал читать о O-нотации, но я все еще новичок, когда дело доходит до анализа кода.
Так вот в чем проблема:
Дается следующий псевдокод, где A - числовое поле, элементы которого могут быть доступны через индексы от 1 до длины (A)
1: procedure Adder(A)
2: for i <- 1 to length(A)
3: for j <- length(A) to 1 do
4: if i ≠ j then
5: A[i] <- A[i] + A[j]
Приведите сложность следующих строк кода в формате big-O:
- строки 4-5
- строки 3-5
- строки 2-5
Так что для строк 4-5 я подумал, что это должен быть просто O (1), поскольку он просто добавляет 2 элемента.
С двумя другими я действительно не уверен.
Для строки 3-5 я думаю, что это должно быть O (n), где n - количество индексов в числовом поле.
И, наконец, для строк 2-5 я бы сказал, что это O (n ^ 2), так как теперь нам нужно циклы?