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中与数组相关的函数
Mar 22 PHP
PHP中全面阻止SQL注入式攻击分析小结
Jan 30 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
PHP学习笔记(一) 简单了解PHP
Aug 04 PHP
php生成zip文件类实例
Apr 07 PHP
php结合安卓客户端实现查询交互实例
May 05 PHP
PHP网络操作函数汇总
May 18 PHP
详解PHP数组赋值方法
Nov 07 PHP
Laravel中如何增加自定义全局函数详解
May 09 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
Apr 12 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 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面向对象全攻略 (四)构造方法与析构方法
2009/09/30 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
JavaScript prototype属性深入介绍
2012/11/27 Javascript
jquery操作下拉列表、文本框、复选框、单选框集合(收藏)
2014/01/08 Javascript
javascript中 try catch用法
2015/08/16 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
2016/11/02 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
跟老齐学Python之一个免费的实验室
2014/09/14 Python
Python实现感知机(PLA)算法
2017/12/20 Python
python实现自动化上线脚本的示例
2019/07/01 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
python 字符串格式化的示例
2020/09/21 Python
Python list和str互转的实现示例
2020/11/16 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
网络技术专业推荐信
2014/02/20 职场文书
学习决心书
2014/03/11 职场文书
主办会计岗位职责
2014/03/13 职场文书
普通话演讲稿
2014/09/03 职场文书
产品委托授权书范本
2014/09/16 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
运动会表扬稿范文
2015/05/05 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
写好Python代码的几条重要技巧
2021/05/21 Python
Selenium浏览器自动化如何上传文件
2022/04/06 Python