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


Posted in PHP onNovember 10, 2017

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

PHP 相关文章推荐
php 处理上百万条的数据库如何提高处理查询速度
Feb 08 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
php强制运行广告的方法
Dec 01 PHP
分享10段PHP常用代码
Nov 11 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
php错误日志简单配置方法
Jul 11 PHP
PHP实现的支付宝支付功能示例
Mar 26 PHP
laravel框架之数据库查出来的对象实现转化为数组
Oct 23 PHP
Yii框架小部件(Widgets)用法实例详解
May 15 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 #PHP
PHP用函数嵌入网站访问量计数器
Oct 27 #PHP
PHP实现网站访问量计数器
Oct 27 #PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 #PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 #PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 #PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 #PHP
You might like
谈谈PHP语法(3)
2006/10/09 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
PHP 万年历实现代码
2012/10/18 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
js location.replace与location.reload的区别
2010/09/08 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
js 走马灯简单实例
2013/11/21 Javascript
7个JS基础知识总结
2014/03/05 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
2015/08/10 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
2015/10/08 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
python将html转成PDF的实现代码(包含中文)
2013/03/04 Python
python中的错误处理
2016/04/10 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
Python SQLite3数据库日期与时间常见函数用法分析
2017/08/14 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
Python之修改图片像素值的方法
2019/07/03 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
CSS3 简写animation
2012/05/10 HTML / CSS
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
机械专业毕业生推荐信范文
2013/11/25 职场文书
水电站项目建议书
2014/05/12 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
派出所班子党的群众路线对照检查材料思想汇报
2014/10/01 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
Python djanjo之csrf防跨站攻击实验过程
2021/05/14 Python