关于DFS和BFS的理解 以及坐标的定义
2024-10-14 21:44:58
http://blog.csdn.net/bool_isprime/article/details/5803018
DFS:
1:
坐标类型搜索 :这种类型的搜索题目通常来说简单的比较简单,复杂的通常在边界的处理和情况的讨论方面会比较复杂,分析这类问题,我们首先要抓住题目的意思,看具体是怎么建立坐标系(特别重要),
然后仔细分析到搜索的每一个阶段是如何通过条件转移到下一个阶段的。确定每一次递归(对于DFS)的回溯和深入条件,对于BFS,要注意每一次入队的条件同时注意判重。要牢牢把握
目标状态是一个什么状态,在什么时候结束搜索。还有,DFS过程的参数如何设定,是带参数还是不带参数,带的话各个参数一定要保证能完全的表示一个状态,不会出现
一个状态对应多个参数,而这一点对于BFS来说就稍简单些,只需要多设置些变量就可以了。
2: 数值类型搜索:(虽然我也不知道该怎么叫,就起这个名字吧),这种类型的搜索就需要仔细分析分析了,一般来说采用DFS,而且它的终止条件一般都是很明显的,难就难在对于过程的把握,过程的把握类似
于坐标类型的搜索(判重、深入、枚举),注意这种类型的搜索通常还要用到剪枝优化,对于那些明显不符合要求的特殊状态我们一定要在之前就去掉它,否则它会像滚雪球一样越滚
越大,浪费我们的时间。
坐标的定义 1:顺时针逆时针
2:以左走位优先 以右走位优先的坐标初始定义 eg: http://blog.csdn.net/lyy289065406/article/details/6647668
3:问题有待继续探讨
::::
求最短路问题要用BFS 不要用DFS
最新文章
- 练习JavaScript判断上传文件后缀名
- mongoDB研究笔记:分片集群部署
- Java中的数是用补码表示的检验
- 在CentOS上安装SQLServer
- Is Anchor magento
- 【leetcode❤python】 257. Binary Tree Paths
- Velocity语法--转载
- js页面传参数时,参数值包含特殊字符的处理
- 安装eclipse
- html基础标签-1-pre预格式标签
- 在linux环境下tomcat 指定 jdk或jre版本
- 一、Python介绍
- Mysql双主互备+keeplived高可用架构介绍
- js中的arguments用法
- P1880 [NOI1995]石子合并(区间DP)
- Oracle 24角色管理
- POJ - 2031 Building a Space Station(计算几何+最小生成树)
- oracle之logminer日志分析
- 活字格Web应用平台学习笔记2-基础教程-开始
- Saltstack配置管理(2)