yuchao 发表于 2018-2-11 11:49:28


            本文实例讲述了PHP实现深度优先搜索算法。分享给大家供大家参考,具体如下:
深度优先搜索的实现原理:
http://files.jb51.net/file_images/article/201709/2017916113846664.png?2017816114714
实现代码:
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;$iarr)&&$this->dfs_save[$v][$i]==1)
      {
      $this->k++;
      $this->dfs($i);
      }
    }
    $this->k--;
    return;
}
}
?>
页: [1]
查看完整版本: PHP实现深度优先搜索算法(DFS,Depth First Search)详解