PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
发布:smiling 来源: PHP粉丝网 添加日期:2021-08-19 10:06:31 浏览: 评论:0
这篇文章主要介绍了PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能,涉及php数据结构中图的遍历及全排列相关数学运算技巧,需要的朋友可以参考下。
本文实例讲述了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
Tags: PHP遍历输出1 2 3
- 上一篇:PHP简单实现循环链表功能示例
- 下一篇:PHP实现基于栈的后缀表达式求值功能
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)