搜索
文章平均质量分 80
Psycho social
这个作者很懒,什么都没留下…
展开
-
搜索算法——DFS、BFS(简单介绍)
利用计算机的高性能,去穷举一个问题的部分或所有的可能情况从而求出问题的解的一种方法实际上是根据初始条件和扩展规则构造一棵解答树并寻找目标状态的节点的过程深搜是盏的方式,而广搜是队列DFS框架(1) 把初始状态放入数组中,设为当前状态;(2) 扩展当前的状态,产生一个新的状态放入数组中,同时把新产生的状态设为当前状态;(3) 判断当前状态是否和前面的重复,如果重复则回到上一个状态,...原创 2019-05-12 11:36:55 · 2763 阅读 · 1 评论 -
搜索算法——A*算法
简述A∗A*A∗算法是优化过后的bfsbfsbfs算法,是一种启发式搜索,什么叫启发式搜索呢?它是利用问题拥有的启发信息来引导搜索,达到减少搜索范围、降低问题复杂度的目的(百度百科)那是如何启发的呢?通过考虑两个因素,一个是已经行驶过的距离,一个是估计要行驶的距离。首先来看一个最简单的BFSBFSBFS的算法的寻路过程,假设绿色的格子是起点,红色的格子是终点,我们来看一下bfsbfsbfs的...原创 2019-05-21 22:42:50 · 1546 阅读 · 10 评论 -
搜索算法——双向bfs
双向bfs适用于知道起点和终点的状态下使用,从起点和终点两个方向开始进行搜索,可以非常大的提高单个bfs的搜索效率同样,实现也是通过队列的方式,可以设置两个队列,一个队列保存从起点开始搜索的状态,另一个队列用来保存从终点开始搜索的状态,如果某一个状态下出现相交的情况,那么就出现了答案例题1:走迷宫 问题描述:一个迷宫由RRR行CCC列格子组成,有的格子里有障碍物,不能走;有的格子是空地...原创 2019-05-12 23:38:00 · 15403 阅读 · 10 评论 -
搜索算法——IDA*
搜索算法——IDA∗IDA*IDA∗算法介绍IDA∗IDA*IDA∗是基于深度优先搜索进行优化的一种算法,又被称作为迭代加深搜索,是一种启发式搜索算法。什么叫做迭代加深呢?实际上深搜会搜索很多层,几乎是呈指数级增长的,但是实际上可以通过限制搜索深度来优化。在深度没有上限的情况下,先预先估计一个较小的深度kkk,首先搜索KKK层,如果没有找到解,深度加111,从头开始搜索到k+1k+1k+1...原创 2019-09-15 17:08:34 · 1515 阅读 · 0 评论