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 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
用PHP实现的生成静态HTML速度快类库
Mar 31 PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
PHP截断标题且兼容utf8和gb2312编码
Sep 22 PHP
php中{}大括号是什么意思
Dec 01 PHP
使用php批量删除数据库下所有前缀为prefix_的表
Jun 09 PHP
Yii配置文件用法详解
Dec 04 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 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生成短网址示例
2014/05/05 PHP
PHPCMS忘记后台密码的解决办法
2016/10/30 PHP
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
js 利用className得到对象的实现代码
2011/11/15 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
老生常谈js中的MVC
2017/07/25 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
详解Vue 单文件组件的三种写法
2020/02/19 Javascript
微信小程序云函数添加数据到数据库的方法
2020/03/04 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
python 随机数生成的代码的详细分析
2011/05/15 Python
python实现根据ip地址反向查找主机名称的方法
2015/04/29 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
Python文件操作方法详解
2020/02/09 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
vivo智能手机官方商城:vivo
2016/09/22 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
罗马尼亚在线杂货店:Pilulka.ro
2019/09/28 全球购物
医科学校毕业生自荐信
2013/11/09 职场文书
明信片寄语大全
2014/04/08 职场文书
干部考察材料范文
2014/12/24 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android
JavaScript前端面试组合函数
2022/06/21 Javascript