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 相关文章推荐
smarty的保留变量问题
Oct 23 PHP
php的字符串用法小结
Jun 08 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
Apr 04 PHP
PHP的反射机制实例详解
Mar 29 PHP
ThinkPHP中调用PHPExcel的实现代码
Apr 08 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP实现权限管理功能示例
Sep 22 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
May 23 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
php服务器的系统详解
Oct 12 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
PHP详细彻底学习Smarty
2008/03/27 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
Python如何转换字符串大小写
2020/06/04 Python
有模特经验的简历自我评价
2013/09/19 职场文书
安全负责人任命书
2014/06/06 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
庆七一晚会主持词
2015/06/30 职场文书
办公室管理规章制度
2015/08/04 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL