深度优先搜索(Depth First Search)是一种常见的暴力算法

此算法上限和下限较高,容易上手,适用情形多,学习性价比高

下限高于有固定的模板,且时间复杂度明显优于暴力枚举,容易拿到题目部分分


int  DFS (int  k)//DFS常见模板
{ if (到目的地(边界))
{ 输出结果; } else
{ for (int i = 1; i <= n;++i)
{ if (满足条件)
{ 保存边界; DFS(k+1); 恢复第k步的状态; } } }
}

上限高于可优化性高,通过剪枝优化可以大幅度缩小数据搜索范围,以达到意料之外的结果

适用范围广,属于算法竞赛中的万金油算法



而同时dfs也拥有一些缺点

时间复杂度较高(最坏情况为O(n!))很难拿到高分

对比兄弟算法bfs广度优先搜索不适用于对问题最优解的的求解

……


所以我们要结合多方面因素,权衡利弊,在比赛中选取最优的方法,以获取更高的得分

最新文章

  1. lua定义一个简单的类
  2. 团队项目——站立会议 DAY8
  3. 【leetcode】Partition List(middle)
  4. 自制Chrome拓展
  5. 【转】SQL Server与Oracle的区别
  6. Android开发系列----学习伊始
  7. 快速使用shortcut,适配各种ROM
  8. NFinal 视图—用户控件
  9. Windows Server AppFabric分布式缓存研究
  10. 关于TCP/IP,必知必会的十个经典问题[转]
  11. [2019.04.16] 由Python写成的自动解压脚本
  12. Windows 下 docker 部署 gitlab ci
  13. 【IDEA填坑】xml不编译
  14. Java采用RSA加密及解密技术的有关Maven项目的配置流程:
  15. python 牛客网 你的输出为:空。请检查一下你的代码,有没有循环输入处理多个case。问题解决
  16. 02 JDBC相关
  17. Haskell语言开发工具
  18. ActiveReports 报表中 RDF 文件解析
  19. mysql中使用日期加减时无法识别年-月格式数据的问题,%Y-%m&quot;这种格式数据
  20. JDBC 连接Oracle 数据库,JDBC 连接Mysql 数据库

热门文章

  1. Unity项目优化——Web版
  2. Markdown箭头总汇
  3. P3_注册小程序账号&amp;安装开发者工具
  4. STM32F0库函数初始化系列:PWM输出
  5. 一个比 Redis 性能更强的数据库
  6. 原生微信小程序封装request
  7. 手写一个audio播放器,实现歌曲切换,列表歌曲循环,音量调节等 vue组件
  8. vant组件,picker时间选择,自定义时间选择,实现datePacker,时间选择长期,增加长期选项,用于选择身份证到期时间等...
  9. 跳板攻击之:reGeorg 代理转发
  10. Vue框架整理:computed计算属性设置与缓存