Я знаю разницу Big O и Big Θ, но я могу найти несколько случаев, когда мне действительно нужно использовать Big O или Big Ω вместо Big Θ.
Когда заданы алгоритм, а также случай сложности времени выполнения (средний, худший и лучший), мы можем измерить время работы алгоритма и указать его как Θ. (Обратите внимание, что алгоритм означает четкое и пошаговое решение проблемы, исправьте меня, если я ошибаюсь)
С одной стороны, просто говорит, что время работы алгоритма без указания сложности случая неоднозначно. С другой стороны, если это относится к одному из этих случаев, Big O и Big Ω теряют свое приложение, потому что мы специфичны для случая и не более или не менее теряют смысл. Мы просто можем вычислить T (n) или использовать Θ, если хотим быть грубыми.
Например, время алгоритма быстрой сортировки в среднем случае равно Θ (n lg n), а в худшем случае Θ (n ^ 2) (поскольку мы можем вычислить время T (n)). Однако некоторые могут указывать их с O (n log n) и O (n ^ 2), но Θ также является правильным и точным.
Тогда как или почему мы должны использовать O или Ω для времени работы этого алгоритма? Не забудьте указать ответ на этот конкретный экземпляр.
Я не ищу их объяснения, просто некоторые реальные примеры, которые нам действительно нужны Big O, а не Big Θ.