DFS 和 BFS 的做题感受

原创 2016年08月30日 21:18:19

最近,很是不在状态啊。
第一,自从回家之后,很是膨胀,大概有十天时间没有更新过博客了,而且暑假学的东西虽然当时可能理解了,但是现在从头开始复习,各种不会,我的天呐,我是怎么了!!!!!
第二,开学了,自己能水的特点又出来了,各种水群,真的是太浪费时间和生命了啊!! 很尴尬,这种事情又没法控制,只能说,我就是一个大水比!!!!!!! 改,以后让人给我禁言了算了。
第三,刚刚开学,这学期不想逃课了,想把成绩弄上去,虽然别人说成绩可能不太重要,但是我不行啊,我有自己的认知,这学期课程主要有1概率论2数据结构3java4逻辑与代数5大学物理6数字逻辑。总体来说,数据结构和java必须学好 没的说,概率论,逻辑与代数,数字逻辑也大部分时间来学吧。至于大物,基本放弃吧。。。。。真的不适合学了、没有思想了这种事情上学期就感觉出来了。
第四,自从暑假集训开始,自己的锻炼计划就失效了,现在开始要进行恢复训练了,每个星期三,五,天跑步。每次速度要逐渐提升到最后一小时能跑10公里就行。 接下来是做DFS 和BFS 的一些看法了,从网上别人那里摘取来的

一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是”搜到就是最优解”, 而深搜用于找多个解或者是”步数已知(比如3步就必须达到条件)”的问题,它的空间效率高,但是找到的不一定是最优解,必须记录并完成整个搜索,故一般情况下,深搜需要非常高效的剪枝(优化).

像搜索最短路径这些的很明显要是用广搜,因为广搜的特性就是一层一层往下搜的,保证当前搜到的都是最优解,当然,最短路径只是一方面的应用,像什么最少状态转换也是可以应用的。
深搜就是优先搜索一棵子树,然后是另一棵,它和广搜相比,有着内存需要相对较少的优点,八皇后问题就是典型的应用,这类问题很明显是不能用广搜去解决的。或者像图论里面的找圈的算法,数的前序中序后序遍历等,都是深搜

深搜和广搜的不同之处是在于搜索顺序的不同。

深搜的实现类似于栈,每次选择栈顶元素去扩展,

广搜则是利用了队列,先被扩展的的节点优先拿去扩展。

搜索树的形态:深搜层数很多,广搜则是很宽。

深搜适合找出所有方案,广搜则用来找出最佳方案

深搜和广搜的区别:

深搜并不能保证第一次遇到目标点就是最短路径,因此要搜索所有可能的路径,因此要回溯,标记做了之后还要取消掉,因此同一个点可能被访问很多很多次。而广搜由于它的由近及远的结点扩展顺序,结点总是以最短路径被访问。一个结点如果第二次被访问,第二次的路径肯定不会比第一次的短,因此就没有必要再从这个结点向周围扩展――第一次访问这个结点的时候已经扩展过了,第二次再扩展只会得到更差的解。因此做过的标记不必去掉。因此同一个点至多只可能被访问一次。每访问一个结点,与它相连的边就被检查一次。因此最坏情况下,所有边都被检查一次,因此时间复杂度为O(E)。

版权声明:本文为博主原创文章,未经博主允许不得转载。

DFS和BFS的一点简单总结

搜索,简单狭窄地讲,就分为DFS与BFS,但是也有一些拓展的比如迭代深搜和IDA*搜索等等,搜索可以说是最基础却又是应用最广泛的算法。本文简单地总结下基础搜索在给定的显式图中的应用。...

C++ 最小生成树之Prim(普里姆)算法

最小生成树之Prime(普里姆)算法 最小生成树:是在一个给定的无向图G(V,E)中求一棵树T,使得这棵树拥有图G中的所有顶点,且所有边都是来自图G中的边,并且满足整棵树的边权之和最小。 如上...

Prim、Kruskal、Prim+Heap算法效率实测

评测环境:WindowsXP,FreePascal2.40,Pentium(R) Dual-Core CPU T4300@2.10GHz,2G内存 通过上图可以看出: ...
  • Gykimo
  • Gykimo
  • 2013年01月24日 15:14
  • 3864

POJ 2965做题笔记 #DFS# #枚举#

POJ2965 今天做了POJ的第二题,题目和昨天写的1753差不多,主要区别是2965要求写出操作的步骤,我想的是用一个长度为16的数组来保存每次操作,每次操作由一个二位数来保存,十位为行数row...

搜索bfs,dfs

  • 2017年09月13日 10:48
  • 198KB
  • 下载

【SPFA + DFS/BFS】最短路的一个拓展题

题目如下(By cwx) 【题目描述】 给你一张含有 n 个点 m 条边的联通无向图,记录 1 号点到每个点的最短路长度,询问 去掉与 i 号相邻的所有边后,1 号点到多少个点的最短路长度...

DFS \BFS生成树

  • 2009年06月28日 15:25
  • 4KB
  • 下载

图的dfs和bfs遍历-c语言版

  • 2017年06月11日 13:38
  • 239KB
  • 下载

CCF CSP 2015年12月第3题 画图 (模拟+DFS或BFS)

问题描述 试题编号: 201512-3 试题名称: 画图 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   用 ASCII 字符来...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DFS 和 BFS 的做题感受
举报原因:
原因补充:

(最多只允许输入30个字)