这篇文章将为大家详细讲解有关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中如何实现深度优先搜索算法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。