在VBA中实现dijkstra算法

时间:2017-06-22 14:15:29

标签: excel vba excel-vba

我设置了一个电子表格,其中包含一系列到不同餐厅的距离。为简单起见,我们可以说列A的所有列都有餐馆名称/代码(说一个代码是一个数字,2到XXX)。然后,在BXXX - 1中,有一个数字显示A中餐馆与代码为列号的餐馆之间的距离。

我如何实施dijkstra算法以找到给出2个用户输入输入的最短路径?

请参阅下面的示例电子表格的屏幕截图: Screenshot of the Spreadsheet

1 个答案:

答案 0 :(得分:3)

您要做的是编写VBA代码,该代码循环遍历具有距离信息的所有数据,并将它们存储在正确的图形数据结构中。我不确定您的数据是否代表无向图,或者您是否只有一个较低的三角矩阵表示。

无论如何,在将数据转换为适当的VBA数据结构之后,您可以采用现有的解决方案并使其与您的数据结构一起使用。或者,首先,确保数据结构适合现有解决方案。您可以找到VBA Dijkstra实施here

如果您想自己实施,可以在网上找到许多说明性示例,例如here,以帮助您了解算法本身。