Big O и другие используются для измерения роста чего-либо.
Когда кто-то говорит, что что-то есть O(N)
, тогда эта вещь растет не быстрее, чем линейная скорость. Если что-то Ω(N^2)
, то оно растет не медленнее, чем квадратичная скорость. Когда что-то Θ(2^N)
, то оно растет экспоненциально.
То, что это за штука, может быть требованием времени для алгоритма. Это также может быть пространство, то есть требование к памяти для алгоритма. Это также может быть что угодно, не связанное ни с пространством, ни со временем.
Например, некоторые массивно параллельные алгоритмы часто измеряют масштабируемость по числу процессоров, на которых он может работать. Определенный алгоритм может работать на O(N)
процессорах за O(N^2)
времени. Другой алгоритм может работать на O(N^2)
процессорах за O(N)
времени.
Похожие вопросы
Смотри также