对于类,我们有一个网格和网格上的一堆方块,我们需要检测和移动到这些网格上。我们从(0,0)开始。我们一次扫描网格的小区域(出于数据结构的原因,这是强制性的),当我们检测到需要旅行的方块时,我们就会旅行。网格上有32个地点,但我们只需要走其中的16个,而且要尽可能快(我们正在与其他人比赛)。
Dijkstra算法会找到从我们当前位置到下一个位置的最短路径。然而,这并不是最优的,因为我们的下一个位置可能真的离后面的位置很远。如果我们能在扫描时以某种方式找出位置的密度,然后选择去一个非常密集的地方,并走遍该区域内的所有位置,这将是更有益的。
有没有最适合这种情况的算法?我知道贪婪的启发式不是最优的。A*和Dijkstra是我们一开始考虑的,但我们希望有一个完全不同的解决方案。
PS不幸的是,这是在汇编中完成的。
发布于 2010-10-29 05:42:16
查找密集的点(例如,您必须访问的位置)称为cluster analysis。有关几类算法的信息,请参阅链接。
汇编语言是实验高级算法的一种非常痛苦的方式。你的教授是虐待狂吗??
https://stackoverflow.com/questions/4047312
复制相似问题