深度优先搜索算法(Depth-First-Search,DFS)与广度优先搜索算法(Breadth-First Search,BFS)理解

最近学习到了这两种经典的算法,谈一下自己的理解

  • 深度优先搜索算法(Depth-First-Search,DFS)

这个算法会尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。

  • 广度优先搜索算法(Breadth-First Search,BFS)

简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。

  • 通过一个例题就很好理解了:
    在这里插入图片描述
    ①深度优先搜索:
    假设按照从左向右的顺序,那么V1->V2->V4,节点V4的左边没有节点,向右探索,->V8,到节点V8后没法继续向下探索,因此按照探索顺序回溯,回溯到V2,发现右边有节点,->V5,节点V5没法继续探索,再按照探索顺序回溯,回溯到V1,向右到节点V3,任然遵循从左向右的原则:->V3-V6->V7。
    所以结果为:V1->V2->V4->V8->V5->V3-V6->V7
    ②广度优先搜索:
    假设按照从左向右的顺序,那么第一层V1,第二层V2、V3,第三层V4、V5、V6、V7,第四层V8.
    所以结果为:V1->V2->V3->V4->V5->V6-V7->V8

可以看到两种方法各有优缺点,这里只是浅谈一下自己的理解,还没有学数据结构,希望多多指正。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值