【发布时间】:2014-10-01 11:00:44
【问题描述】:
我正在承接algorithms course on Coursera,有一段作者提到了以下内容
带路径压缩的加权快速联合的运行时间为 在现实世界中是线性的,实际上可以改进为 甚至还有一个更有趣的函数,称为 Ackermann 函数,它 比lg增长还要慢。还有一点关于这个 这似乎是如此接近于线性,即时间与 N 成正比,而不是时间与 N 倍成正比 N中缓慢增长的函数。是否有一个简单的算法是 线性?人们为此寻找了很长时间,实际上它 事实证明,我们可以证明不存在这样的情况 算法。 (强调)
(你可以找到整个transcript here)
在包括Wikipedia在内的所有其他来源中,当时间与输入大小成比例增加时,使用“线性”,而在带有路径压缩的加权快速联合中,情况肯定不是这样。
这里的“现实世界中的线性”到底是什么意思?
【问题讨论】:
-
“现实世界中的线性”是对 big-O 表示法的实际动机的观察,而不是关于 union-find 复杂性的正式声明。
标签: algorithm data-structures time-complexity union-find