如何获取比节点之间最短路径更多的路径?



在 d3 中.js我正在使用一个名为path的功能来获取 2 个节点之间的最短路径。 API 是这样说的:

node.path(target) <>

返回从此节点到 指定的目标节点。路径从此节点开始,上升到 此节点和目标节点的最小共同祖先,然后 下降到目标节点。

使用此定义,我创建了一个新数组来保存 2 个节点之间的数据。我可以单击名为beginNode的第一个节点和第二个节点,即d。它工作得很好,它们之间的最短路径保存在数组中shortest_path

.on("click", function(d, i) //Hier beginnt große "click"-Funktion
{
shortest_path = beginNode && beginNode.path(d) || [];.....

有时有很多方法可以获取 2 个节点之间的路径,不仅是最短路径,还有更长的路径。现在,我的目标是将 2 个单击的节点之间的更多路径存储到该数组或其他数组中。但不幸的是,d3,js 只提供最短路径函数。我希望你们中的一些人能提供帮助。吉克斯特拉是解决这个问题的正确解决方案吗? 谢谢

这称为 k 最短路径问题。 您可以使用Dijkstra算法的变体(称为Eppstein算法)来解决它

最新更新