在VBA中实现dijkstraalgorithm
我有一个电子表格设置了一堆到不同餐馆的距离。 为了简单起见,可以说列A
所有餐厅名称/代码(说一个代码是一个数字,2到XXX)。 然后,在B
到XXX - 1
有一个数字显示A
的餐厅和其代码是列号的餐厅之间的距离。
我将如何去执行dijkstra的algorithm来find给定的2个用户input的最短path?
请参阅下面的示例电子表格的屏幕截图:
你要做的就是编写VBA代码,将所有具有距离信息的数据进行循环,并将它们存储在适当的graphics数据结构中。 我不确定你的数据是否表示一个无向图,或者是否有一个更低的三angular形matrix表示。
无论如何,在将数据转换为适当的VBA数据结构之后,您可以采用现有的解决scheme,并使其适用于您的数据结构。 或者,首先,确保数据结构符合现有的解决scheme。 你可以在这里find一个VBA Dijkstra实现。
如果你想自己实现它,你可以在网上find很多例子来帮助你理解algorithm本身。