在VBA中实现dijkstraalgorithm

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

我将如何去执行dijkstra的algorithm来find给定的2个用户input的最短path?

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

你要做的就是编写VBA代码,将所有具有距离信息的数据进行循环,并将它们存储在适当的graphics数据结构中。 我不确定你的数据是否表示一个无向图,或者是否有一个更低的三angular形matrix表示。

无论如何,在将数据转换为适当的VBA数据结构之后,您可以采用现有的解决scheme,并使其适用于您的数据结构。 或者,首先,确保数据结构符合现有的解决scheme。 你可以在这里find一个VBA Dijkstra实现。

如果你想自己实现它,你可以在网上find很多例子来帮助你理解algorithm本身。