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 相关文章推荐
实用函数4
Nov 08 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
php中jQuery插件autocomplate的简单使用笔记
Jun 14 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
May 11 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
TP3.2框架分页相关实现方法分析
Jun 03 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
文章推荐系统(三)
2006/10/09 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
2013/10/24 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
vue watch关于对象内的属性监听
2019/04/22 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
使用IPython或Spyder将省略号表示的内容完整输出
2020/04/20 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
内科护士实习自我鉴定
2013/10/17 职场文书
演讲主持词
2014/03/18 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
楚门的世界观后感
2015/06/03 职场文书