PHP中如何实现深度优先搜索算法-创新互联

这篇文章将为大家详细讲解有关PHP中如何实现深度优先搜索算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

我们提供的服务有:成都网站制作、网站建设、微信公众号开发、网站优化、网站认证、玉龙ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的玉龙网站制作公司

深度优先搜索的实现原理:

PHP中如何实现深度优先搜索算法

实现代码:

dfs_save = array(
      array(0,1,1,1,0,0,0,0,0),
      array(1,0,0,0,1,0,0,0,0),
      array(1,0,0,0,0,1,0,0,0),
      array(1,0,0,0,0,0,1,0,0),
      array(0,1,0,0,0,1,0,0,1),
      array(0,0,1,0,1,0,0,1,0),
      array(0,0,0,1,0,0,0,0,0),
      array(0,0,0,0,0,1,0,0,0),
      array(0,0,0,0,1,0,0,0,0),
    );
    $this->arr = array();
  }
  //深度优先搜索的递归实现方法
  public function dfs($v)
  {
    //对顶点做一些操作
    echo str_repeat("-",$this->k);
    echo 'V'.($v+1).'
';     //记录已访问的顶点     $this->arr[]= $v;     //查找与顶点相连接的顶点,如果存在就继续深度优先搜索     for($i=0;$i<9;$i++)     {       if(!in_array($i,$this->arr)&&$this->dfs_save[$v][$i]==1)       {         $this->k++;         $this->dfs($i);       }     }     $this->k--;     return;   } } ?>

实现输出结果:

V1
-V2
--V5
---V6
----V3
----V8
---V9
-V4
--V7

关于“PHP中如何实现深度优先搜索算法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文题目:PHP中如何实现深度优先搜索算法-创新互联
分享路径:http://ybzwz.com/article/didpso.html