深度优先的总结

深度优先的总体思想是:使用循环加上栈进行求解。栈我们使用递归,系统来实现的,不用我们自己

去实现。我们的重点是如何实现我们的循环过程。我们在递归中去实现我们的循环,把满足条件的

下一个点进行再次的递归,并标记这个点已经被标记。

实现的伪代码:

  void grapDFS()

  {

    定义标记数组并初始化;

    DFS();

    删除数组;

  }

  DFS(标记数组,起点)

  {

    标记起点被使用过;

    获得起点的第一个相邻点;

    while(存在)

    {

      判断是否访问过,没有则DFS();

      找起点下一个点;

    }

  }

posted @ 2011-11-27 09:05  菜鸟哥  阅读(43)  评论(0)    收藏  举报