小程序开发报价_JS完成深度优先查找求解两点间

发布时间:2021-01-08 10:31 作者:jianzhan

摘要: JS完成深层优先选择检索求出二点间最少相对路径 本文关键为大伙儿详尽详细介绍了JS完成深层优先选择检索求出二点间最少相对路径,具备一定的参照使用价值,很感兴趣的小伙

JS实现深度优先搜索求解两点间最短路径       这篇文章主要为大家详细介绍了JS实现深度优先搜索求解两点间最短路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JS实现深度优先搜索求解两点间最短路径的具体代码,供大家参考,具体内容如下

效果:

找出图里点到点最短路径,并打印轨迹

图片如下所示:


代码:

const map = [
 [0, 1, 1, 0, 1],
 [1, 0, 0, 1, 0],
 [1, 0, 0, 0, 1],
 [0, 1, 0, 0, 0],
 [1, 0, 1, 0, 0]
function dfsManager(map, start, end){
 var min = 9999,
 path = [],
 unvisited = [];
 for(let i=0; i i++){
 unvisited[i] = true
 (function dfs(map, start, end, step){
 //unvisited[start] = false //不重复访问最后的节点
 if(start === end){
 console.log('step:',step)
 for(let i=0; i path.length; i++){
 if(path[i] = 0){
 console.log(path[i]+'- ')
 if(min step){
 min = step
 return
 unvisited[start] = false //要重复访问最后的节点
 let len = map.length
 for(let i=0; i i++){
 if(map[start][i] === 1 unvisited[i]){
 path.push(i) //记录路径
 dfs(map, i, end, step+1)
 path.pop() //避免污染其他路径
 })(map, start, end, 0)
 return min
console.log('min:',dfsManager(map,3,4))

output:

step: 4
1-
0-
2-
4-
step: 3
1-
0-
4-
min: 3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。


  • Web前端开发30个初学者新项

    模拟题目:Web前端开发开发设计30个新手最新项目文件目录,学精便可以新手入门做最新项目 此一一篇文章明显强烈推荐有想法学习培训学习培训前端开发开发设计,早就上道揣测web前

  • [汇总]2016年受欢迎微信朋

    模拟题目:[归纳]2017年火爆手机微信微信朋友圈的十款H5手机上手机游戏 最近几天,许多人的手机上手机微信手机微信微信朋友圈都被“我和手机上手机微信的小小故事”刷屏了。这种

  • 手机微信付款公司支付到

    这时候便会有二种方法去开启这一功效1,老老实巴交巴交实的按照要求手机微信微信养号。店家号入驻满90天;不断交易30天,中间不能以中断;心身身心健康交易;谈起这种方式具体上

  • 应对高效率慢感受差的H

    适当运用 Display 特点,因为 Display 特点会伤害网页页面网页页面的三d3D渲染 避免相片和 iFrame 等空 Src 尽量避免变更相片规格 避免 CSS 描述式 消除空的 CSS 规范 稳定用 Web 字体样式款

  • 腾讯公布: 手机微信新规

    模拟题目:腾迅发布: 手机上手机微信新规十一月18日一开始推行, 商家: 回绝接受手机上手机微信支付! 在大伙儿确当代生活起居中,一直都离不开支付宝和手机上手机微信了,而且大伙