我正在处理个人项目的图像,我卡在一个步骤(此外它是一个相对较简单的步骤)我的问题与图像的方式没有关系。Dijkstra的最短路径算法修改
我正在计算图像上每个像素的int值。我想找到像素(节点)之间成本最低的路径。其实我有一个A *算法的工作实现。但我不想使用它,因为我不想限制带有可以通过或不能通过的节点的“映射”。我希望每个节点都可以通过,但要付出代价。有些节点的成本过高,有些则不然。但是不会有无法通过的节点。
我不认为我需要给任何代码,因为它是一个非常孤立的项目的一部分。所以我不想操纵任何人。但基本上我有一个地图对象,有一个节点列表。节点有id,x,y位置。成本,邻居(顶部,底部,左侧和右侧像素)和一个节点参考知道我从哪里来到这里等。
我希望我能表达与Dijkstra的最短路径算法的区别。我怎样才能相应地修改它?或者有人可以推荐另一种方法来做到这一点?
我不明白你为什么需要修改。 A *星和Dijkstra都有成本。有什么问题? – Ishtar 2012-04-18 14:41:17
@Ishtar我认为在*中有2种节点。你可以通过的节点,你不能(墙壁)。我错了吗? 对于Dijkstra的我不知道如何使用顶点和边。在我的情况下,它们都是同样的事情,一旦你通过一个节点,你就会将该节点的成本加到总成本中。 – user1125953 2012-04-18 19:24:16