复杂度是O(kM(n))多项式复杂度吗?

时间:2011-11-30 07:57:55

标签: algorithm complexity-theory

定义:

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

其中 k 是指数位的数量, n 是位数, M(n)是{{的计算复杂度3}}。

如何确定这种计算复杂度的多项式复杂度?

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

2 个答案:

答案 0 :(得分:1)

考虑分割算法。

  • 除法算法是否具有复杂度O(n)?如果是,则模幂运算为O(k n)。

  • 对于某些常数c,除法算法是否具有复杂度O(n ^ c)?如果是,则模幂运算为O(k n ^ c)。

  • 除法算法是否具有复杂度O(log n)?如果是,则模幂运算为O(k log n)。

答案 1 :(得分:0)

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