Это основной вопрос, но я думаю, что совпадает с , поскольку больший член должен доминировать при переходе к бесконечности? Кроме того, это будет отличаться от O (\ min (m, n)) . Это правильно? Я продолжаю видеть это обозначение, особенно при обсуждении алгоритмов графа. Например, вы обычно видите: O (| V | + | E |) (например, смотрите здесь ).
44
Ответы:
Вы правы. Обратите внимание, что терминO(n+m) слегка нарушает классическую нотацию big-O , которая определена для функций в одной переменной. Однако есть естественное расширение для нескольких переменных.
Проще говоря, так как
С другой стороны,O(n+m) отличается от O(min{n,m}) , поскольку, если вы установите n=2m , вы получите
источник
Хотите верьте, хотите нет, но (по моему опыту) кажется, что многие алгоритмы на самом деле не задумывались о том, что формально означает большая буква O, и когда вас об этом спрашивают, вы можете получить несколько разных ответов. Некоторые вопросы обсуждаются в статье Родни Р. Хауэлла « Об асимптотической записи с множественными переменными ».
Любопытно, что также кажется, что большинство вводных курсов по алгоритмам тратят много времени на то, чтобы быть очень формальными в отношении больших O-нотаций с одной переменной, а затем в следующие недели с радостью используют нотацию для графовых алгоритмов с несколькими переменными случайным образом, не обсуждая, что запись на самом деле означает.
источник