当前位置: 首页 > news >正文

搜索选择DFS还是BFS

1. DFS(深度优先搜索):优先进行深度纵向搜索,DFS所需的内存少于BFS所需的内存,利用堆栈实现,适合找最短路径。

2. BFS(广度优先搜索):优先进行广度横向搜索,用队列实现,更适合找最短距离,内存所需较多。

DFS:

void dfs(long long int f,long long int step) 
{
    //cout<<f<<" "<<step<<endl;
    if(step >= cnt || ant[f] <= step) return;
    ant[f] = step;
    if(f == b) {
        cnt = step;
        return;
    }
    step++;
    if(f+k[f] <= n)dfs(f+k[f],step);
    if(f-k[f] > 0)dfs(f-k[f],step);
}

http://www.dtcms.com/a/266102.html

相关文章:

  • NumPy-核心函数transpose()深度解析
  • 【HarmonyOS】HAR和HSP循环依赖和依赖传递问题详解
  • 二叉树展开为链表C++
  • 20.数据同步Mysql-ES解决方案
  • 网络编程学习路线图
  • 如何配置core dump生成
  • Android App冷启动流程详解
  • webrtc-streamer视频流播放(rstp协议h264笔记)
  • 新人如何入门学习 STM32?
  • Stata如何做机器学习?——SHAP解释框架下的足球运动员价值驱动因素识别:基于H2O集成学习模型
  • Selenium 自动化测试中跳过机器人验证的完整指南:能用
  • 1688 Agent Russia 丨俄罗斯淘宝代购1688代采集运系统搭建指南介绍
  • 8分钟讲完 Tomcat架构及工作原理
  • Vue如何处理数据、v-HTML的使用及总结
  • 使用Python Watchdog库实现文件系统监控
  • Linux基本命令篇 —— tar命令
  • 修改阿里云vps为自定义用户登录
  • 使用Feapder中的Dedup过滤数据
  • 【python】json.loads()函数处理字符串时不需要指定编码
  • Windows系统编程(Win32 API)
  • pytorch、torchvision与python版本对应关系
  • 什么是软中断
  • 使用Visual Studio 2022创建CUDA编程项目
  • Python爬虫 XPath 三方库lxml
  • Unity Android与iOS自动重启
  • Java综合练习04
  • js代码中的作用域
  • 深度学习×第4卷:Pytorch实战——她第一次用张量去拟合你的轨迹
  • Mausezahn - 网络流量生成与测试工具(支持从链路层到应用层的协议模拟)
  • C++ 解决类相互引用导致的编译错误