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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

幻世2012   2021-03-28 我要评论
想了解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程序设计有所帮助。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们