各位看官们,大家好,上一回中咱们说的是图的例子,这一回咱们说的例子是:深度优先遍历。闲话休提,
言归正转。让我们一起talk C栗子吧!
看官们,我们在上一回中说了如何在代码中存储图,这一回咱们主要说在代码中如何遍历图。首先选择图
中某个点做为起点,然后遍历与该点相连而且没有被访问的点,重复该操作,直到图中所有的点都被访问
过为止,这种遍历方法叫作深度遍历。从该方法的描述中,就能发现,使用递归来实现该方法是个不错的
选择,下面是具体的实现步骤:
看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里下载使用。
我们在程序中使用的图和该图的邻接矩阵如下图所示:
程序的运行结果如下,对比运行结果和图,可以发现程序完全是按照图中结点深度进行遍历的。
--- Show the Graph --- 0 |1 |1 |0 |0 |0 | 1 |0 |0 |0 |1 |0 | 1 |0 |0 |1 |0 |1 | 0 |0 |1 |0 |0 |0 | 0 |1 |0 |0 |0 |1 | 0 |0 |1 |1 |1 |0 | --- DFS --- A->B->E->F->C->D->
各位看官,关于深度优先遍历的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。
版权声明:本文为博主原创文章,未经博主允许不得转载。
一起talk C栗子吧(第四十四回:C语言实例--深度优先遍历一)
原文地址:http://blog.csdn.net/talk_8/article/details/48102417