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的无限分类实现想法~
Jan 02 PHP
PHP中str_replace函数使用小结
Oct 11 PHP
PHP判断变量是否为0的方法
Feb 08 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
PHP SplObjectStorage使用实例
May 12 PHP
PHP浮点数精度问题汇总
May 13 PHP
php实现的验证码文件类实例
Jun 18 PHP
PHP实现搜索地理位置及计算两点地理位置间距离的实例
Jan 08 PHP
php处理复杂xml数据示例
Jul 11 PHP
Zend Framework处理Json数据方法详解
Dec 09 PHP
php中的单引号、双引号和转义字符详解
Feb 16 PHP
php简单读取.vcf格式文件的方法示例
Sep 02 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
模仿OSO的论坛(四)
2006/10/09 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
jQuery的一些注意
2006/12/06 Javascript
javascript 计算两个整数的百分比值
2009/12/26 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
2016/06/09 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
JQuery实现table中tr上移下移的示例(超简单)
2018/01/08 jQuery
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
Vue 实例中使用$refs的注意事项
2021/01/29 Vue.js
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
python批量制作雷达图的实现方法
2016/07/26 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
python计算列表内各元素的个数实例
2018/06/29 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
pandas 数据类型转换的实现
2020/12/29 Python
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
HQhair美国/加拿大:英国化妆品、美容及美发产品商城
2019/04/15 全球购物
既然说Ruby中一切都是对象,那么Ruby中类也是对象吗
2013/01/26 面试题
水务局局长岗位职责
2013/11/28 职场文书
小学生新年寄语
2014/04/03 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
普通党员个人整改措施
2014/10/27 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书