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与MySQL交互使用详解
Oct 09 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
php实现事件监听与触发的方法
Nov 21 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
php Session无效分析资料整理
Nov 29 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
Apr 17 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 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
实用函数3
2007/11/08 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
php字符集转换
2017/01/23 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
符合W3C网页标准的iframe标签的使用方法
2007/07/19 Javascript
javascript RadioButtonList获取选中值
2009/04/09 Javascript
JS中批量给元素绑定事件过程中的相关问题使用闭包解决
2013/04/15 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
Javascript高级技巧分享
2014/02/25 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
跟老齐学Python之有点简约的元组
2014/09/24 Python
实例说明Python中比较运算符的使用
2015/05/13 Python
Python ftp上传文件
2016/02/13 Python
python 异常处理总结
2016/10/18 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
django从后台返回html代码的实例
2020/03/11 Python
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
职务任命书范本
2014/06/05 职场文书
新闻通讯稿模板
2015/07/22 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
Python实现自动玩连连看的脚本分享
2022/04/04 Python
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python