Sql server 改变Dijkstra';计算两节点间最短第二和第三路径的s算法

Sql server 改变Dijkstra';计算两节点间最短第二和第三路径的s算法,sql-server,tsql,Sql Server,Tsql,如何修改Dijkstra的算法来计算两个节点之间的第二条和第三条最短路径?Dijkstra的最短路径算法是一种贪婪算法。这意味着在任何给定点,Dijkstra都找到了从其启动到当前顶点的最短路径。Dijkstra的最短路径算法具有最优子结构,因为最优解依赖于子问题的最优解 假设您正试图找到从节点A到节点B的最短路径。Dijkstra的工作原理是跟踪从A到当前节点的最短路径,直到算法完成到B的路径。该算法不跟踪第二或第三条最佳路径,因为它是一个具有最优子结构的贪婪算法 如果您想找到A和B之间的第二

如何修改Dijkstra的算法来计算两个节点之间的第二条和第三条最短路径?

Dijkstra的最短路径算法是一种贪婪算法。这意味着在任何给定点,Dijkstra都找到了从其启动到当前顶点的最短路径。Dijkstra的最短路径算法具有最优子结构,因为最优解依赖于子问题的最优解

假设您正试图找到从节点A到节点B的最短路径。Dijkstra的工作原理是跟踪从A到当前节点的最短路径,直到算法完成到B的路径。该算法不跟踪第二或第三条最佳路径,因为它是一个具有最优子结构的贪婪算法

如果您想找到AB之间的第二条或第三条最短路径,您不能只执行Dijkstra算法,只需在一路上做出一个不同的决定即可。您可能需要通过连接AB的许多甚至所有路径来找到下一条最短路径


在一个非常大的图中,我们需要跟踪许多节点和可能的路径,然后才能找到第二条或第三条最短路径。寻找第n条最短路径不符合具有最优子结构的贪婪算法的性质

你能告诉我们到目前为止你做了什么吗?请看@MegaTron,我是sql的新手