本文實(shí)例講述了PHP實(shí)現(xiàn)基于圖的深度優(yōu)先遍歷輸出1,2,3...n的全排列功能。分享給大家供大家參考,具體如下:
?php
$n=$_REQUEST["n"];
if($n>8)
{
echo "{$n}太大了,影響服務(wù)器性能";
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方法傳入?yún)?shù)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
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP實(shí)現(xiàn)的簡(jiǎn)單排列組合算法應(yīng)用示例
- php全排列遞歸算法代碼
- 使用php計(jì)算排列組合的方法
- 淺談PHP的排列組合(如輸入a,b,c 輸出他們的全部組合)
- php通過(guò)排列組合實(shí)現(xiàn)1到9數(shù)字相加都等于20的方法
- php求數(shù)組全排列,元素所有組合的方法總結(jié)
- PHP輸出多個(gè)元素的排列或組合的方法
- php求數(shù)組全排列,元素所有組合的方法
- PHP實(shí)現(xiàn)字符串的全排列詳解
- php實(shí)現(xiàn)的生成排列算法示例