1
Knuth的线性时间乘法算法为什么不“计数”?
维基百科有关乘法算法的页面提到了Donald Knuth的有趣文章。基本上,它涉及将傅立叶变换乘法与对数大小的乘法的预计算表进行组合。它以线性时间运行。 本文的行为就像这种算法,某种程度上不算作“真正的”乘法算法。更重要的是,是否可以在偶数O(n lg n)时间内完成乘法是一个悬而未决的问题! 此算法的哪些细节使它不算作“真实”乘法算法? 我的猜测是: 预先计算表格所花费的时间超过了线性时间。另一方面,它仍然可以及时完成,n lg n因此看起来仍然令人印象深刻。 某种程度上不允许随机访问。但是,为什么其他算法可以使用哈希表和指针之类的东西呢? 当您增加机器的字长时,它会以某种方式缩放错误,例如,如果您有一台256位机器在一条指令中执行256位乘法,那么直到您拥有2 ^ 256个以上的元素,该算法才有意义。另一方面,我们在联合发现中担心逆阿克曼因子。 “有没有线性时间乘法算法?” 问题是用一些功能较弱的机器暗中进行的,但这只能得到提示。