我正在寻找PageRank算法的Big-O复杂性。
我几乎找不到任何东西,我刚发现O(n+m)
(n
- 节点数,m
- 弧/边数)但我现在还不相信这种复杂性。
我认为它缺少收敛标准。我不认为这是一个常数,我认为收敛取决于图形直径。将Big-O用于一次迭代可能就足够了,然后收敛并不重要。
然而,PageRank需要触及每个节点并聚合每个传入的排名,所以我期望运行时为O(n * m)
。
我错过了什么吗?有没有人知道PageRank的Big-O复杂性的宝贵资源?
提前致谢。
答案 0 :(得分:1)
经过一些研究和进一步的思考,我得出的结论是O(n+m)
是真实的。
因为即使在完整的图表中,也必须触摸每个边缘两次。一个人无法触及每一个边缘,这是我思考中的错误。因此,必须至少触摸每个节点,每个节点n次,每次边缘两次,大O为m。
所以正确的答案是O(n+m)