Невозможно определить порядок роста

82
10

У меня есть 2 функции, C (n) и A (n)

enter image description here

Я не знаю, почему A (n) медленнее C (n), потому что более высокая скорость роста означает более медленное время выполнения.

С моей точки зрения, они оба имеют корень в числителе. Однако A (n) делится на logn, что означает, что он должен быть меньше, чем root n. Таким образом, целое A (n) становится быстрее C (n), так как C (n) все еще имеет корень n (даже если он n ^ 1/3, но все еще имеет корень) и ничем не делится.

Существует ли очень простой способ определения порядка роста?

Большое спасибо, если вы можете объяснить, почему A (n) медленнее C (n).

спросил(а) 2017-06-14T00:46:00+03:00 2 года, 10 месяцев назад
1
Решение
111

Оба C(n) и A(n) имеют корни в числителе, но они являются разными корнями. В C(n) это кубический корень, а в A(n) - квадратный корень. Другой способ написать их:

C(n) = Θ(n ^ (1/3))

а также

A(n) = Θ(n ^ (1/2) / some-log-term)

Теперь ясно, что 1/3 < 1/2 и, следовательно, с n достаточно большим n^(1/3) много меньше n^(1/2)n^(1/2)/some-log-term тоже). Действительно, A(n) сколь угодно велико, что означает C(n) << A(n)

ответил(а) 2017-06-14T09:47:00+03:00 2 года, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема