假设我有一个空间要求为 nlogn 的函数,我想计算出给定可用空间的该函数的最大输入大小。即我想找到 n,其中 nlogn=c。
我跟着一种方法 http://cs-people.bu.edu/lapets/resource/nlogn.pdf计算 n,在 R 中如下所示:
step = function(R, z) { log(log(R)-z)}
guess = function(R) log(log(R))
inverse_nlogn = function(R, accuracy=1e-10) {
zi_1 = 0
z = guess(R)
while(abs(z - zi_1)>accuracy) {
zi_1 = z
z = step(R, z)
}
exp(exp(z))
}
但我无法理解why它必须迭代地解决。对于我们感兴趣的范围 (n>1),该函数是非奇异的。
没什么特别的n log n— 几乎所有初等函数都没有初等反函数,因此必须通过其他方法来求解:二分法、牛顿法、拉格朗日反演定理、级数反转、兰伯特 W 函数……
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)