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的一个登录的类 [推荐]
Mar 16 PHP
浅析php学习的路线图
Jul 10 PHP
解析VS2010利用VS.PHP插件调试PHP的方法
Jul 19 PHP
PHP中单引号与双引号的区别分析
Aug 19 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
php+ajax 文件上传代码实例
Mar 18 PHP
TP5框架实现签到功能的方法分析
Apr 05 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php 表单数据的获取代码
2009/03/10 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php获取文件大小的方法
2014/02/26 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
vue实现简单表格组件实例详解
2017/04/16 Javascript
js字符串类型String常用操作实例总结
2019/07/05 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
Python2.x中文乱码问题解决方法
2015/06/02 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
Python 删除连续出现的指定字符的实例
2018/06/29 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
中式面点餐厅创业计划书
2014/01/29 职场文书
赡养老人协议书
2014/04/21 职场文书
化工工艺设计求职信
2014/06/25 职场文书
供电工程专业求职信
2014/08/09 职场文书
简历自我评价模板
2015/03/11 职场文书
python神经网络 使用Keras构建RNN训练
2022/05/04 Python