首页 > 开发 > PHP > 正文

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

2024-05-04 22:44:44
字体:
来源:转载
供稿:网友

本文实例讲述了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为例,输出如下:

123412431324134214231432213421432314234124132431312431423214324134123421412341324213423143124321

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表