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实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
Aug 07 PHP
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
弹出模态框modal的实现方法及实例
Sep 19 PHP
laravel框架关于搜索功能的实现
Mar 15 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 PHP
PHP asXML()函数讲解
Feb 03 PHP
PHP封装的mysqli数据库操作类示例
Feb 16 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多例模式介绍
2013/06/24 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
提高php编程效率技巧
2015/08/13 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
JS实现微信里判断页面是否被分享成功的方法
2017/06/06 Javascript
Vue组件的使用教程详解
2018/01/05 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
Python中asyncio与aiohttp入门教程
2018/10/16 Python
详解Python学习之安装pandas
2019/04/16 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
解决Python中回文数和质数的问题
2019/11/24 Python
使用CSS3编写灰阶滤镜来制作黑白照片效果的方法
2016/05/09 HTML / CSS
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
教学质量评估实施方案
2014/03/17 职场文书
无毒社区工作方案
2014/05/23 职场文书
应届大专生求职信
2014/06/26 职场文书
公司户外活动总结
2014/07/04 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python