var obj = {
    1: [2, 3],
    2: [1, 4, 5],
    3: [1, 7, 8],
    4: [2, 7],
    7: [4, 8],
}
var 起点 = 1
var 终点 = 8

var f = 起点 => 终点 => 数据 => 路径 => {
    if (起点 == 终点)
        return [路径]
    if (路径.length == Object.keys(数据).length + 1)
        return [[]]
    if (obj[起点] == null)
        return [[]]
    return obj[起点].filter(a => !路径.includes(a)).map(a => f(a)(终点)(数据)([...路径, a])).flat().filter(a => a.length != 0)
}

console.log(
    f(起点)(终点)(obj)([起点])
)

javascript算法 最短路径问题

javascript算法 最短路径问题

相关文章:

  • 2022-01-31
  • 2022-12-23
  • 2021-11-02
  • 2022-01-01
  • 2021-12-20
  • 2021-08-07
  • 2022-12-23
  • 2021-06-04
猜你喜欢
  • 2021-05-27
  • 2021-06-23
  • 2022-02-01
  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案