Premise:
This 维基百科页面 http://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations建议
的计算复杂度《教科书》长除法 http://en.wikipedia.org/wiki/Long_division is
O(n^2).
扣除:
而不是取两个n位数字
数字,如果我取一个n位数字
和一个 m 位数字,那么
复杂度将是O(n*m).
矛盾:
假设您除以 100000000 (n
位)乘以 1000(m 位),得到 100000,这需要六个步骤到
到达。
现在,如果你除以 100000000 (n
位)乘以 10000(m 位),你得到 10000。现在这只需要五步.
结论:
所以,看起来顺序是
计算应该是这样的O(n/m).
问题:
谁错了,我还是维基百科,以及
在哪里?
你错了,这是因为你没有计算每个数字的运算次数。相反,您的计数就好像您可以在 O(1) 中对 N 位数字进行减法一样。一般来说,你不能;需要 O(N)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)