评论

收藏

[PHP] PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能

开发技术 开发技术 发布于:2021-08-21 15:39 | 阅读数:562 | 评论:0

本文实例讲述了PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能。分享给大家供大家参考,具体如下:
<?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);
这里以get方法传入参数n=4为例,输出如下:
1234
1243
1324
1342
1423
1432
2134
2143
2314
2341
2413
2431
3124
3142
3214
3241
3412
3421
4123
4132
4213
4231
4312
4321
希望本文所述对大家PHP程序设计有所帮助。
原文链接:http://blog.csdn.net/jingbing082619/article/details/47082401

关注下面的标签,发现更多相似文章