Сложность Big-o C ^ n + n * (logn) ^ 2 + (10 * n) ^ c
-
25-09-2019 - |
Вопрос
Мне нужно получить сложность Big-o этого выражения:
C ^ n + n * (log (n)) ^ 2 + (10 * n) ^ c
где C представляет собой постоянную, и N является переменной.
Я уверен, что я понимаю, как получить сложность Big-o каждого срока индивидуально, я просто не знаю, как изменяется сложность Big-O, когда условия объединяются так.
Идеи?
Любая помощь была бы великой, спасибо.
Решение
Организация O () рассматривает самый высокий термин; подумайте о том, какой из них будет доминировать для очень, очень больших ценностей n
.
В вашем случае самый высокий термин c^n
, фактически; Другие по существу являются полиномиальными. Итак, это экспоненциальная сложность.
Другие советы
Ответ зависит от | C |
Если | C | <= 1 Это O (n * (log (n)) ^ 2)
Если | C | > 1 Это O (c ^ n)
В типичном использовании формальное определение нотации o не используется напрямую; Скорее, нотация o для функции f (x) получена следующими правилами упрощения:
- Если f (x) является суммой нескольких терминов, удерживается тем, что с наибольшим количеством роста хранится, и все остальные опущены.
- Если f (x) является продуктом нескольких факторов, любых констант (термины в продукте, которые не зависят от X), опущены.