搜索类题目总结

对于广搜补充:

广度优先搜索按照距开始状态由近及远的顺序进行搜索,因此可以很容易地用来求最短路径、最少操作之类的问题的答案。这个问题中,状态仅仅是目前所在位置的坐标。转移的方式为四方向移动。只要将已经访问过的状态用标记管理起来,就可以很好地做到由近及远的搜索,这个问题要求最短距离虽然到达终点时会停止搜索,可如果继续下去直到队列为空的话,就可以计算出各个位置的最短距离。此外,如果搜索到最后,如果依然无法实现,这个位置就是无法从起点到达的。用和d[x]和d[y] 两个数组来表示四个方向向量。这样通过一个循环可以实现方向的移动。

三周以来的搜索专项练习终于过去了,我对于搜索有了更深的理解,下面就是我ac题目过程的感受

在刚开始的时候,我做选数那个题目,对于深搜的用法不是很熟练,以至于做了很久也看了许多别人博客,找到思路才能自己写出并ac,第一周因为网课的原因,对于代码的练习可以有大量时间,对于一道题目,我花费的时间一般是一个小时多,递归方式大同小异但是对于题目中搜索筛选的方法却是解题的关键 。大多数可以用深搜解决的问题也可以用广搜解决,但是对于一这些问题显然运用深搜解决更合适,比如奶酪那个问题,寻找途中运用广搜可以省下很多筛选条件。对于BFS的的题目,解题方法,思路基本是不变的,这类题我只做了五道,其余的大多写了题意以及自己的的想法,没有实现ac。

在做题上我花费了大量时间,但是最后也只是ac了十几道题,题意写的也不算多,但是做到最后会发现,有的题虽然我没有真正的敲代码,但是可以清楚地知道关于这道题目的处理方法,筛选条件。同类问题分类处理效率很高,有很多同类型的题在第二次碰见的时候,我的思路明显更加清晰,做出来的时间也减少了很多。在上课之后学习了树的结构、二叉树、图论的概念,利于有些题目的理解。

对于一个搜索类题目的处理,最关键的是对于题目的理解,将题目中抽象的问题转化为自己熟悉的知识,将题目真正读懂,比如把题意写出来的这个过程就是在以自己的思路视角来解读题目,认真的写好一句话题意的目的也就是这样吧。在后面几组提高题中,我在写题意的时候就会对题目产生自己的理解,有些解题方法也是这样想出来的。在没思路的时候看到别人博客中的处理方法,就会有种恍然大悟的获得感,但是遇到不会去网上搜题解,容易对题解产生依赖,但是看到别人的不同理解,不同的处理方式还是会模仿。在ac后看题解,也会有种原来还能这么做的感觉,感觉不仅是对于搜索题目有了理解,对于处理方法也有了新的感觉,他们运用剪枝可以优化运行速度,不至于超时,剪枝对于搜索是一个很好的优化,我在刷题时也会尝试去使用。

“纸上得来终觉浅,绝知此事要躬行。”通过刷搜索类题我了解到想真正领悟、理解各种搜索的思想,掌握搜索的解题技巧,还需要在实践中不断地挖掘、探索。在这类题目的训练时也许我会使用,但是在其他地方遇到不一定可以反应过来,最重要的的还是得实践,实践得多了,也就能体会到渐入佳境之妙了,运用搜索解决问题所带来的成就感是无可替代的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值