问题:在未加权的无向图中找到最短路径。使用时空折衷的最短路径算法?
广度优先搜索可以找到两个节点之间的最短路径,但这可能会花费O(| V | + | E |)时间。预先计算的查找表将允许在O(1)时间内回应请求,但是以O(| V |^2)空间为代价。
我想知道:有它提供了一个时空权衡这更细粒度的算法?换句话说,是否有一个算法,其中:
- 查找在超过O时间最短路径(1),但比双向广度优先搜索
- 更快使用预先计算的数据,其占用小于空间O(| V |^2)?
在实际方面:图为800000个节点和被认为是一个小型世界网络。所有配对最短路径表格的数量级都是千兆字节 - 这些日子并没有离谱,但它不符合我们的要求。
但是,出于好奇,我在问我的问题。什么让我在晚上是不是“我怎样才能减少所有对查找表的缓存未命中?”,但“有没有我从来没有听说过的完全不同的算法?”
答案可能不是,没关系。
图中大概有多少个节点? – danben 2010-04-27 20:46:19
图形密集还是稀疏?有多少个节点?多少条边? – 2010-04-27 20:50:40