2012年5月28日

图的深度优先遍历算法

摘要: 更正一下前面一篇博文中的不妥之处:前面一篇博文有非无向图而不可广度优先遍历之嫌。其实广度优先搜索也是可以用在有向图中的,因为无向图是特殊的有向图,而这里广度优先遍历为的是遍历连通图的所有节点,对于有向图来说只要存在一条有向边,那么两个节点就是“连接”的状态,那么遍历就可以缠绕在这条边上。 深度优先遍历,也就是尽量深的遍历图的节点,同样用到了三色标记,用到了递归函数,这里还有一个盖时间戳的操作。当发现某个节点时记录一下时间,当完成一个节点的遍历时记录一下时间,这样依据时间戳,可以发现很多性质和应用。 其实在很多地方广度优先搜索和深度优先搜索代码实现起来都有特点:广度优先搜索使用一个queue来. 阅读全文

posted @ 2012-05-28 16:18 涅槃火凤 阅读(10532) 评论(0) 推荐(0) 编辑

无向连通图的广度优先遍历算法

摘要: 图的广度优先算法是图的基本算法,也是最小生成树以及单源最短路径算法的基础。最近把广度优先遍历算法实现了一下,希望能够有比以前更深的体会或者加强一下对该算法的理解。前些天看了优米网上关于于丹做客在路上的一段视频,有一点心得体会。我很赞同于丹的观点,一个人的见识是十分重要的,所谓见识,从某一方面来理解,那就是要亲历亲为。对于算法这一门数学与编程并重的学科更是如此。 任何一种算法,都需要搞清楚该算法的上下文环境,你需要问自己一些问题,这个算法叫什么名字,解决的是那一类问题,这些问题的重要定义或者条件是什么。其实没有什么万能的方法,但是确实存在能够解决一些特定条件集下的特定问题的算法。这里的广度优先. 阅读全文

posted @ 2012-05-28 14:49 涅槃火凤 阅读(4341) 评论(0) 推荐(0) 编辑

导航