我正在使用.NET BigInteger,基本上我想知道是什么数字(估计的答案会很好) 是((操作所需时间增加的图表)vs (BigInteger的值)?
还是它们的设计没有这样的偏差,如果我们将操作所需的时间与BigInteger的值之间的增量从1绘制到无穷大,我们将一直保持平滑的曲线吗?
例如,假设数组被设计为可以处理50个项目。这意味着如果我有1个项目,则运算是f(1)时间。当我有2个项目时,运算时间为f(2)。如果我有50个项目,则操作时间为f(50)。但由于它仅设计用于处理50个项目,因此当我们拥有51个项目时,所执行的操作将为g(51),其中g(51)> f(51)。
如果实施正确,BigInteger算法的复杂度应为平滑曲线。例如,乘法的时间复杂度应为O(NM),其中N是第一个被乘数的位数,而M是第二个被乘数的位数。当然,有实际的限制,因为您可以选择N和M太大,以至于这些数字都不适合您的计算机。
是否有/任何人知道任何声称已如此实施的文件?