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同时支持GIF、png、JPEG
Oct 09 PHP
php字符串截取问题
Nov 28 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
Nov 15 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
php网页版聊天软件实现代码
Aug 12 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP7 新增功能
Mar 09 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 #PHP
PHP简单实现循环链表功能示例
Nov 10 #PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 #PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 #PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 #PHP
PHP基于回溯算法解决n皇后问题的方法示例
Nov 07 #PHP
php实现的三个常用加密解密功能函数示例
Nov 06 #PHP
You might like
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
关于PHP中Object对象的笔记分享
2011/06/28 PHP
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
php表单请求获得数据求和示例
2014/05/15 PHP
php画图实例
2014/11/05 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
javascript Array对象基础知识小结
2010/11/16 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
JavaScrpt判断一个数是否是质数的实例代码
2017/06/11 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
Python中用函数作为返回值和实现闭包的教程
2015/04/27 Python
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
美国豪华时尚女性精品店:Kirna Zabête
2018/01/11 全球购物
捐助贫困学生倡议书
2014/05/16 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL