Кто-нибудь знает, что означает алгоритм удвоения звезды в сложности, как это O(N**3)
? Я нашел это в PHP similar_text () функционировать и не понимать это.
Спасибо
** означает силу. Следовательно, n ** 3 означает n ^ 3. Сложность имеет порядок n ^ 3 или O (n ^ 3)
Эта двойная звезда является оператором возведения в степень в PHP (оператор ^ в общем случае для возведения в степень).
Согласно инструкции PHP,
$a ** $b ---- Exponentiation Operator
Result of raising $a to the $b'th power. Introduced in PHP 5.6.
следовательно, здесь сложность O (n ^ 3), то есть O из (n возведенных в степень 3) ИЛИ кубической сложности.
Не всегда легко писать математику, когда вам разрешен только ASCII, поэтому часто писатели прибегают к использованию операторов, встречающихся в языках программирования, для краткого представления математики.
На некоторых языках **
означает возведение в степень, и вот что это значит здесь. ASCII не имеет верхнего индекса, поэтому невозможно представить возведение в степень в стандартной математической записи, если вы ограничены ASCII. Тот факт, что вы нашли это в контексте PHP, является еще одной подсказкой, поскольку PHP является одним из языков, который использует **
для возведения в степень.
O(n**3)
средства О(п3).
**
Звезда — это сокращение от повышения до власти (а также действительный оператор в некоторых языках). Это так же, как N^3
, Таким образом, функция имеет кубическую сложность.