推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

图论中的最短路径树与路径重构.docx

资料介绍

图论中的最短路径树:Dijkstra前驱与重构路径

最短路径树(Shortest Path Tree,SPT)是"以某点为源的最短路"的树形表示,它通过记录Dijkstra的前驱节点构建。最短路径树在"从源到所有点的最短路径"查询、网络路由、路径重构等场景有应用。本文剖析最短路径树的概念与构建。

最短路径树的概念

最短路径树:以源点  为根的一棵树,树上任意节点到根的路径,恰好是原图中从  到该节点的最短路径。

对每个节点,它在最短路径树上的父节点是"到达它的最短路径上的前驱节点"。构建最短路径树只需在Dijkstra中记录每个节点的前驱。

  c
// Dijkstra中记录前驱
vector<int> pre(n, -1);   // pre[v]:v在最短路径树上的父节点
for (auto& [v, w] : adj[u]) {
    if (dist[u] + w < dist[v]) {
        dist[v] = dist[u] + w;
        pre[v] = u;   // 记录前驱
        pq.push({dist[v], v});
    }
}

前驱数组  即最短路径树的父指针,构成以  为根的最短路径树。


部分文件列表

文件名 大小
图论中的最短路径树与路径重构.docx 38K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载