基本转换的计算复杂性

时间:2015-02-09 20:05:45

标签: algorithm complexity-theory time-complexity base

将非常大的n位数转换为十进制表示的复杂性是什么?

我的想法是重复整数除法的基本算法,取余数来得到每个数字,将具有O(M(n)log n)复杂度,其中M(n)是乘法算法的复杂性;然而,除法不是在2个n位数之间,而是1个n位数和一个小常数,所以在我看来复杂性可能更小。

1 个答案:

答案 0 :(得分:1)

如您所述的朴素碱基转换需要二次时间;你做的是n bigint-by-smallint分区,其中大部分时间都是n比特bigint大小的线性时间。

你可以在O(M(n)log(n))时间进行基本转换,但是,通过选择目标基数的功率大致是待转换数字的平方根,通过它进行除法和余数(可以通过牛顿方法在O(M(n))时间内完成,并在两半上进行递归。