我正在寻找PageRank算法的Big-O复杂度。我很难找到任何有用的信息,只找到了
我认为它缺乏收敛标准。我认为这并非恒定值,而是取决于图直径的收敛。可能只需要考虑一次迭代的Big-O,那么收敛就不重要了。
尽管如此,PageRank需要触及每个节点并汇总每个传入的排名,因此我预计运行时间为
我错过了什么吗?有人知道关于PageRank的复杂度的有价值的来源吗?
提前致谢。
O(n+m)
(n
- 节点数,m
- 弧/边数),但我目前不相信这个复杂度。我认为它缺乏收敛标准。我认为这并非恒定值,而是取决于图直径的收敛。可能只需要考虑一次迭代的Big-O,那么收敛就不重要了。
尽管如此,PageRank需要触及每个节点并汇总每个传入的排名,因此我预计运行时间为
O(n * m)
。我错过了什么吗?有人知道关于PageRank的复杂度的有价值的来源吗?
提前致谢。
<a>
标签时都会重新计算整个互联网。 - Steve Jessopn
个节点和m
条边,为什么“触及所有节点并在最坏情况下触及所有边”是O(n*m)
?我很确定“技巧”从一开始就开始了,所以算法不必每次启动都要触及每个节点m
次。据我所知,Google曾经每天重新计算PageRank,但现在不再这样做了。实际上,它只是更新,尽管我相信他们有手段为测试目的等引导它。 - Steve JessopO(n+m)
是可能的,但你的论证并没有说明如何实现这个技巧。 - Matthias Kricke