搜索总结
来源:互联网 发布:管家婆软件多少钱 编辑:程序博客网 时间:2024/06/05 23:50
搜索算法是利用计算机的高性能来有目的地穷举一个问题的部分或所有的可能情况,从而求出问题的解的一种方法。
相比于单纯的枚举算法有了一定的方向性和目标性。算法是在解的空间里,从一个状态转移(按照要求拓展)到其他状态,这样进行下去,将解的空间中的状态遍历,找到答案(目标的状态)。
广度优先搜索(bfs):
从初始状态S 开始,利用规则,生成所有可能的状态。构成的下一层节点,检查是否出现目标状态G,若未出现,就对该层所有状态节点,分别顺序利用规则。生成再下一层的所有状态节点,对这一层的所有状态节点检查是否出现G,若未出现,继续按上面思想生成再下一层的所有状态节点,这样一层一层往下展开。直到出现目标状态为止。
深度优先搜索(dfs):
从初始状态,利用规则生成搜索树下一层任一个结点,检查是否出现目标状态,若未出现,以此状态利用规则生成再下一层任一个结点,再检查,重复过程一直到叶节点(即不能再生成新状态节点),当它仍不是目标状态时,回溯到上一层结果,取另一可能扩展搜索的分支。采用相同办法一直进行下去,直到找到目标状态为止。
常见题型:
1、排列
2、分解(一个数有几种分解方法);对应的有合成(几个数可以组成这个数),如一个简单的背包问题:一个包可以放的重量是多少,每件物品重量是多少?、
3、遍历。怎么走?怎么跳?有几种走法?(有障碍就用bool型标记一下)
这类题基本两种情况,一是广搜,一个是深搜,广搜所有情况都要来一遍,确实好用。深搜取一部分,遍历了所有的,而且与动态规划很相似。相对来说,广搜用的更多,例如地图类的问题,给定一个地图,上下左右各个方向进行搜索。总的来说,只有少数题感觉思路比较好想,大部分题目都很难直接下手,要思考很久。就是看了题有些想法,但是很难下手。还有要多注意细节的处理,很多时候都是因为细节错误导致无法AC。
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- 搜索总结
- ACM搜索算法总结(总结)
- 搜索技术总结整理
- 搜索技术总结整理
- lucene常用搜索总结
- 有关语义搜索总结
- 强题!dft!
- 铺砖问题(状态压缩DP)
- python:模拟内置函数map的实现
- 对比线程安全和可重入函数
- Python图像处理库(2)
- 搜索总结
- 淘淘商城系列——全局异常处理
- 每天学一点Swift----面向对象下(五)
- Java swing 实现angrybird
- PAT (Advanced Level) Practise 1110 Complete Binary Tree (25)
- Sum of Different Primes——素数表+dp
- Java_log2000_框架概念介绍
- 前端之页面加速
- noauth authentication required redis