【问题标题】:algorithm complexity - what double star means算法复杂度——双星意味着什么
【发布时间】:2015-02-12 00:54:42
【问题描述】:

有人知道像O(N**3) 这样的复杂算法中的双星是什么意思吗?我在PHP的similar_text()函数中找到了一个,看不懂。

谢谢

【问题讨论】:

    标签: php algorithm big-o complexity-theory time-complexity


    【解决方案1】:

    ** 表示权力。因此,n**3 表示 n^3。复杂度的数量级为 n^3 或 O(n^3)

    【讨论】:

      【解决方案2】:

      这个双星是PHP中的求幂操作符(^操作符一般用于求幂)。

      根据 PHP 手册,

      $a ** $b ---- Exponentiation Operator   
      Result of raising $a to the $b'th power. Introduced in PHP 5.6.
      

      因此,这里的复杂度是 O(n^3),即(n 的 3 次幂)的 O 或三次复杂度。

      【讨论】:

        【解决方案3】:

        当您只允许使用 ASCII 时,编写数学并不总是那么容易,因此作者经常求助于使用编程语言中的运算符来简洁地表示数学。

        在某些语言中,** 表示求幂,这就是它的含义。 ASCII 没有上标,因此如果您仅限于 ASCII,就不可能用标准数学符号表示幂。您在 PHP 上下文中发现这一点的事实是进一步的线索,因为 PHP 是使用 ** 进行求幂的语言之一。

        O(n**3) 表示 O(n3)。

        【讨论】:

          【解决方案4】:

          **star 是提升权力的简写(在某些语言中也是有效的运算符)。这与N^3 相同。因此该函数具有三次复杂度。

          【讨论】:

            猜你喜欢
            • 2011-12-28
            • 2011-08-28
            • 2023-03-10
            • 2021-11-04
            • 2011-06-28
            • 2020-09-08
            • 1970-01-01
            • 1970-01-01
            • 2020-05-19
            相关资源
            最近更新 更多