最短路径树(shortest-path tree),是一种使用最短路径算法生成的数据结构树。
考虑一个连通无向图 G {\displaystyle G} ,一个以顶点 v {\displaystyle v} 为根节点的最短路径树 T {\displaystyle T} 是图 G {\displaystyle G} 满足下列条件的生成树——树 T {\displaystyle T} 中从根节点 v {\displaystyle v} 到其它顶点 u {\displaystyle u} 的路径距离,在图 G {\displaystyle G} 中是从 v {\displaystyle v} 到 u {\displaystyle u} 的最短路径距离。
在一个所有最短路径都明确(例如没有负长度的环)的连通图中,我们可以使用如下算法构造最短路径树:
上面的算法保证了最短路径树的存在。像最小生成树一样,最短路径树通常也不是唯一的。
在所有边的权重都相同的时候,最短路径树和广度优先搜索树一致。在存在负长度的环时,从 v {\displaystyle v} 到其它顶点的最短简单路径不一定构成最短路径树。