贪心最佳优先搜索算法,如何计算其遍历的长度?

时间:2017-09-27 02:04:42

标签: algorithm search greedy

我有这个问题,我正在研究与贪婪的最佳第一搜索算法有关。但是当涉及到点(x,y)时,我有点困在计算遍历的长度。例如,假设我有以下几点: (0,1),(0,2),(1,2),(1,3)。所以我做的是在x,y平面上绘制一个图表: Diagram

现在知道GBF算法,它会检查壁橱节点,所以在这种情况下横向看起来像这样:(0,1) - >(0,2) - >(1,2) - >(1,3)。所以现在为了计算GBF完成的点连接的长度,我是否需要基本上添加路径,在这种情况下将是三个?任何澄清都会有所帮助。

1 个答案:

答案 0 :(得分:0)

第一部分是找到使用适当的数据结构存储图形的最佳方法。

说图表现在看起来像这样。

         (1,3)P4
           |
P2(0,2)--(1,2)P3
  |
(0,1)P1
  |
(0,0)P0 

表示此图表的一种方法是使用Adjacency List。喜欢这个

P0 => P1
P1 => P2
P2 => P3
P3 => P4

现在使用Breath first Search可以在线性时间内计算两点之间的距离。两个节点(点)之间的距离,路径长度为数字边缘。

可以找到BFS的说明here