Сложность проблемы определяется с условием «n», стремящимся к бесконечности. Эта ссылка в корне объясняет, почему все O (n) числа меньшей сложности отбрасываются; даже формат O (n) отбрасывает другие полиномиальные термины, которые будут меняться на разных аппаратных средствах. Разумно, вы можете добавить различные общие времена, если у вас есть время для функций. Это могут быть значимые данные в зависящей от времени среде, например обработке больших наборов данных, где вызываемые функции вызываются более одного раза. Это также может обеспечить масштабируемость решения и пик производительности обновления, скажем, сервера. Это будет одно машинное решение, и коэффициенты также не будут отброшены.
Все машины будут иметь различные коэффициенты работы при выполнении любой функции, основанной на архитектуре, и как компилятор генерирует двоичный код. Это означает, что если вы разрабатываете программы для нескольких пользователей, и они находятся на разных компьютерах, то конкретные вычисления являются не только посторонними, но и неточными.
В том случае, когда расчеты не являются чужеродными или неточными:
Трюк с отдельными структурами является функцией времени одного не функция времени всех остальных.
O(n) = x + y + z,
x(n) = (t1) * (n^2)
y(n) = (t2) * (log n)
z(n) = (t3) * (n log n)
...
времени (t1), (t2) и (t3) приведены в качестве времени функции на конкретной машине.
Просто предупреждение, чтобы «n» ссылалось на одно и то же в каждом алгоритме, или вы собираетесь отклеиваться. – Tim
Будет ли иметь смысл заняться наихудшим сектором в целом? –