language-agnostic - 给定两个位置和所有位置的列表,找到最快的路径
问题描述
我有两个点(x1, y1)
& (x2, y2)
,以及可以使用 format 遍历的所有可能位置的列表,(x, y)
我将如何找到/估计两个值之间的最快路径。
我正在用 Java 实现它,但语言并不重要。
围绕该问题的一些限制和附加信息:
x1
&的值x2
永远不会相同,除非y1 = y2
,这是因为这些位置总是位于框的边缘。(x1, y1)
&之间可能并不总是有路径(x2, y2)
(用于检查路径之间的连续性- 并非所有可能的点都将连接到
(x1, y1)
或(x2, y2)
- 最短路径不是必需的,但很容易知道
- 只需一些关于采取什么方向或研究算法的提示就会很高兴
- 旅行可以通过对角线进行(
(x, y)
&(x + 1, y + 1)
被认为是邻居)
解决方案
我一直在寻找的答案是使用A*作为搜索算法,它可以在给定所有节点的地图的情况下找到两点之间的最短路径。
推荐阅读
- visual-studio - Visual Studio 2017 更新后缺少字体颜色选项
- angular - 如何在离子项目中使用 Ionic native - MS Adal?
- python - Python遍历列在值之间添加','并应用于另一列中的单元格
- java - 使用限定符注解标记后 Spring 框架无法识别组件
- yii - Yii1 - CDataProviderIterator 限制不起作用
- python - Python Tkinter 网格系统
- c# - 如何创建在固定位置安装可执行文件的 Nuget 工具包
- python - 来自 API 的响应采用字典格式
- javascript - 组件事件:未定义属性或方法“updatebalance”
- kotlin - 访问 Companion 类中的 lateinit 变量