图算法:路径查找与中心性分析
1. 单源最短路径
单源最短路径(SSSP)问题旨在找出从一个根节点到图中所有其他节点的最短路径。Neo4j实现了一种名为Delta - Stepping算法的SSSP变体,它将Dijkstra算法划分为多个可以并行执行的阶段。
以下是使用Delta - Stepping算法的查询示例:
MATCH (n:Place {id:"London"})
CALL algo.shortestPath.deltaStepping.stream(n, "distance", 1.0)
YIELD nodeId, distance
WHERE algo.isFinite(distance)
RETURN algo.getNodeById(nodeId).id AS destination, distance
ORDER BY distance
该查询返回从根节点“London”到图中所有其他城市的物理距离(以公里为单位),并按最短距离排序,结果如下:
| destination | distance |
| — | — |
| London | 0.0 |
| Colchester | 106.0 |
| Ipswich | 138.0 |
| Felixstowe | 160.0 |
| Doncaster | 277.0 |
| Immingham | 351.0 |
| Hoek van Holland | 367.0 |
| Den Haag | 394.0 | <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



