亲宝软件园·资讯

展开

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

幻世2012 人气:0
想了解PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能的相关内容吗,幻世2012在本文为您仔细讲解PHP基于图的深度优先遍历输出1,2,3...n的全排列的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:PHP,图,深度优先遍历,输出,1,2,3...n,全排列,下面大家一起来学习吧。

本文实例讲述了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程序设计有所帮助。

加载全部内容

相关教程
猜你喜欢
用户评论