Мне нужно вычислить вычислительную сложность следующих уравнений, используя обозначения Big-O:
![enter image description here](https://i.stack.imgur.com/5Dz8Z.jpg)
Здесь m
- общее числоточек доступа (возможно, число итераций с точки зрения сложности, i
- отдельная точка доступа).Я узнал о форме записи Big-O в этом блоге.Более того, я нашел похожий вопрос на этой ссылке .В приведенном выше уравнении d
- это расстояние, вычисленное с помощью 4 операций (умножение, вычитание, деление и мощность).Как видно из приведенного выше уравнения, w
вычисляется с двумя операциями (мощность и деление).xw
и yw
вычисляются с двумя операциями каждая (умножение и деление).Следовательно, я вычислил обозначение Big-O вышеупомянутого алгоритма как:
4*[m]+2*[m]+2*[m]+2*[m]
Это правильно?Может ли оно быть приблизительно O(m)
?Кроме того, вышеупомянутый алгоритм (уравнения) объединяется со следующим алгоритмом, вычислительная сложность которого составляет O(N)
, N
- количество итераций.Здесь N>>m
.Какова будет конечная вычислительная сложность с точки зрения обозначения Big-O?
Спасибо.
ОБНОВЛЕНИЕ:
Индекс w
с x
и y
- это просто обозначение.Это не итерация.Итерация составляет всего m
.Например.i = 1,2,3,4,5,......,m
. Два алгоритма работают по конвейеру.Например, сначала работает алгоритм с m
итерациями, и выходные данные этого алгоритма передаются (как входные данные) в следующий алгоритм с N
итерациями.Итак, когда m
итераций (алгоритм 1) завершены, за этим следует N
итераций (алгоритм 2).Моя проблема похожа на два цикла, которые не являются вложенными и имеют разные итерации, где N>>m
.
for(int i=0; i<m; i++){
System.out.println(i);
}
for(int j=0; j<N; j++){
System.out.println(j);
}
Какова будет конечная вычислительная сложность?