您的位置:首页 > 编程语言 > PHP开发

php实现通过图的深度优先遍历输出1,2,3...n的全排列

2015-07-27 11:17 591 查看
<?php
$n=$_REQUEST["n"];
if($n>8)
{
echo "{$n}太大了,影响服务器性能";
return;
}
define("N",$n);
$d=array();
$v=array();

for($i=0;$i<=N;$i++){
$d[$i]=$v[$i]=0;
}

function dfs($depth){
global $d,$v;
if($depth>=N){
for($i=0;$i!=N;$i++){
echo $d[$i];
}
echo "<br>";
return;
}
for($i=1;$i<=N;$i++){
if($v[$i]==0){
$v[$i]=1;
$d[$depth]=$i;
dfs($depth+1);
$v[$i]=0;
}
}
}

dfs(0);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: