还是要从经典的走迷宫问题开始

DFS的思路是只选择一个方向,一条路走到黑,不撞南墙不回头。
而BFS的思路,每一步在走之前,我都要把所有的选择,所有的方向全看一遍,一层一层的往外扩展。

显然DFS比BFS考虑问题更全面,走迷宫的过程,恰恰和我们的人生路一样。
有的人靠运气,出口就在眼前,有的人没有脑子,一杯子都在找出口。最常见的两种成功的人生,一种是他们虽然没有太多的聪明,但是懂得坚持,dfs,碰壁了继续走,这种人专精某一领域的知识,另一种就是非常善于全面的学习,四个方向齐头并进,bfs,可以很快的寻找到对他来说最短的成功路径,这种人往往有着广博的知识。当然还有的人,A*搜索,在bfs的基础上,还有情报系统,或者名师指导,成功的速度更快。

我们还拿《里奥老师乾坤大挪移—深入浅出走迷宫问题之DFS算法1》中的迷宫举例子。

用数字标记自己的脚印,标识数字n带表蒙古的铁蹄最快可以n步就攻占该片区域,直接上让你对BFS有直观感觉的代码。

需要注意的是作者从来不喜欢使用第0行第0列之类的操作,所以第0行第0列相关存储空间全丢弃不用。

#include <iostream>
<

里奥老师乾坤大挪移—深入浅出走迷宫问题之BFS算法1相关推荐

  1. 里奥老师乾坤大挪移—深入浅出字符编码和字符集2

    通过<里奥老师乾坤大挪移-深入浅出编码和字符集1>中的讲解,加上思考下面的几个问题,每一位读者一定可以轻松搞定字符编码这一关. 1.A写文章时,想表达什么什么字符?字符♞,A用的编码方式是 ...

  2. 里奥老师乾坤大挪移—深入浅出字体1

    相信读者朋友们,阅读过<深入浅出字符编码和字符集1.2>会对特殊字符的显示与编码集的显示休戚相关,很多读者心中大喜,终于可以随心所欲地显示特殊字符,不要高兴地太造,看下面的问题: 不难看出 ...

  3. 里奥老师乾坤大挪移—深入浅出EasyX用户输入与游戏动画1

    给大家介绍一下使用EasyX实现用户按键响应的动画切换功能. 话不多说,直接上源代码,注释写的很详细,欢迎品尝! 比较丝滑的站.走.跳.打 #include <iostream> #inc ...

  4. 里奥老师乾坤大挪移—深入浅出EasyX绘图原理2

    EasyX绘图原理和我们生活中的绘图原理几乎一致. 2. 解决用什么画的问题? 2.1. 最细的笔+最简单的颜色+最简单的图形 我们可以想像,在EasyX中也是存在各式各样的"笔" ...

  5. 里奥老师乾坤大挪移—深入浅出字体2

    <字体1>中基本讲清了字体显示的原理,也就是说字体与操作系统是紧密相关的. 对于Windows来说,字体安装的本质是修改注册表. 对于Linux来说,字体的安装的本质是环境变量的生效(后面 ...

  6. 里奥老师乾坤大挪移—深入浅出字体3

    读完<字体1><字体2>,我们终于可以进一步研究,如何让控制窗口支持我们新安装的字体. 如何让控制台窗口支持新安装的字体. 1.首先控制台当前使用代码页也就是字符集一定要支持这 ...

  7. 里奥老师乾坤大挪移—深入浅出字符编码和字符集1

    咱们丢弃这些专业术语,直接上最通俗的人话. 1.首先我们先理解一下什么是编码? 其实对于编码这件事,我们每个人都不陌生,我们在学习汉字,单词的时候,其实本质之一就是在学习编码.同样的意思,你用汉字编码 ...

  8. 里奥老师乾坤大挪移—深入浅出KMP算法1

    早就想写关于KMP算法的文章了,但KMP算法对于初学者来说,属实不是一件易事,毕竟是考研的内容,还是有一点烧脑的,因此之前一直心生畏惧,打怵写这个话题.考虑到为广大读者出品优质的内容,终于还是鼓起勇气 ...

  9. 里奥老师乾坤大挪移—哈希表与哈希函数专题1

    首先还是要先感谢左神 11.10.基础提升 哈希函数与哈希表等 1.要想掌握这么经典且复杂的问题,祭出埃隆马斯克的第一性原理+乾坤大挪移:表就是映射.函数就是映射. 2.说到哈希表,实在是太经典的数据 ...

最新文章

  1. 2022华为首个「天才少年」,是从绩点1.8逆袭的复旦博士
  2. oracle00313 ora27037,ORA-00313, ORA-00312, ORA-27037 in Standby Database
  3. vim C plugins
  4. 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 使用 MetaClass 进行方法拦截 | 对象上拦截方法 | 类上拦截方法 )
  5. 文件共享服务器连接数问题,共享服务器上连接数量的设置
  6. 如何遍历当前进程中的AppDomain
  7. tableview 的小 点点,
  8. 【bzoj4712】洪水
  9. ORACLE搭建Stream过程中报错【error收集】
  10. 面试题汇总---深度学习(图像识别,NLP内容)
  11. 阿里+北大 | 在梯度上做简单mask竟有如此的神奇效果
  12. C/C++ 取整函数
  13. Rhadoop的安装
  14. 2018:视频标准混战的元年序幕
  15. Win10 默认输入变全角问题解决方法
  16. B. Silly Mistake(模拟、思维)
  17. SharePoint 网站的导入导出
  18. 仙境传说 第一章之四 卢渊*梦魇过后的情缘
  19. np.pad()用于卷积网络中对图片进行填充
  20. 手游外挂分类及原理介绍

热门文章

  1. 学习Linux,吃透这篇足够(适合Java开发者)
  2. 如何使用掘金编辑器写专栏
  3. 遇到windows8.1 USB无线网卡驱动装不上问题
  4. 杭电计算机学院专业导师,杭州电子科技大学计算机学院导师教师师资介绍简介-俞俊...
  5. ReentrantLock中lock/trylock/lockInterruptibly方法的区别及源码解析
  6. 【算法】基于hoare快速排序的三种思想和非递归,基准值选取优化【快速排序的深度剖析-超级详细的注释和解释】你真的完全学会快速排序了吗?
  7. 视频课重点习题 (1)
  8. 超准的次日涨停股通达信选股公式 涨停先兆主图指标公式 源码
  9. Could not read document: Failed to parse Date value ‘2020-07-15 11:29:46‘
  10. 为什么Kafka这么快[零拷贝(Zero-Copy)]?