【问题标题】:Is complexity O(kM(n)) polynomial complexity?复杂度是 O(kM(n)) 多项式复杂度吗?
【发布时间】:2011-11-30 07:57:55
【问题描述】:

定义:

O(kM(n)) : - modular exponentiation的计算复杂度

其中 k 是指数位数,n 是位数,M(n) 是 @987654322 的计算复杂度@。

我如何确定这个计算复杂度是多项式复杂度?

事实上,M(n) 是最让我困惑的符号。

【问题讨论】:

  • 同意该符号令人困惑。就我个人而言,我讨厌人们说“函数 f(n)”,而他们真正的意思是“函数 f”。每当我看到“O(f(n))”时,我都会畏缩,而真正的意思是“O(f)”。我知道这是惯例,但是.... :)
  • 有时复杂性是多变量的,然后您想知道将函数应用于哪些变量...

标签: algorithm complexity-theory


【解决方案1】:

想想除法算法。

  • 除法算法的复杂度是O(n)吗?如果是这样,那么模幂运算就是 O(k n)。

  • 对于某个常数 c,除法算法是否具有 O(n^c) 复杂度?如果是这样,那么模幂运算就是 O(k n^c)。

  • 除法算法的复杂度是否为 O(log n)?如果是这样,那么模幂运算就是 O(k log n)。

等等

【讨论】:

    【解决方案2】:

    模幂运算的复杂度在指数的长度和模的长度上是多项式的,即使是常规的长除法,所以它也是多项式的,具有更快的除法算法。 M(n) 是将两个 n 位数/位数相乘的复杂度 (see here)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-27
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多