全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP实现深度优先搜索算法(DFS,Depth First Search)详解

本文实例讲述了PHP实现深度优先搜索算法。分享给大家供大家参考,具体如下:

深度优先搜索的实现原理:

实现代码:

<?php
class Search_Method
{
  //无向图的数组描述
  private $dfs_save;
  //全局记录数组
  private $arr;
  //控制分支-
  private $k = 0;
  public function __construct()
  {
    $this->dfs_save = array(
      array(0,1,1,1,0,0,0,0,0),
      array(1,0,0,0,1,0,0,0,0),
      array(1,0,0,0,0,1,0,0,0),
      array(1,0,0,0,0,0,1,0,0),
      array(0,1,0,0,0,1,0,0,1),
      array(0,0,1,0,1,0,0,1,0),
      array(0,0,0,1,0,0,0,0,0),
      array(0,0,0,0,0,1,0,0,0),
      array(0,0,0,0,1,0,0,0,0),
    );
    $this->arr = array();
  }
  //深度优先搜索的递归实现方法
  public function dfs($v)
  {
    //对顶点做一些操作
    echo str_repeat("-",$this->k);
    echo 'V'.($v+1).'<br>';
    //记录已访问的顶点
    $this->arr[]= $v;
    //查找与顶点相连接的顶点,如果存在就继续深度优先搜索
    for($i=0;$i<9;$i++)
    {
      if(!in_array($i,$this->arr)&&$this->dfs_save[$v][$i]==1)
      {
        $this->k++;
        $this->dfs($i);
      }
    }
    $this->k--;
    return;
  }
}
?>

实现输出结果:

V1
-V2
--V5
---V6
----V3
----V8
---V9
-V4
--V7

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》及《php程序设计算法总结》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # 深度优先搜索  # 算法  # DFS  # Depth  # First  # Search  # php 大数据量及海量数据处理算法总结  # php中最简单的字符串匹配算法  # PHP经典算法集锦【经典收藏】  # 关于PHP递归算法和应用方法介绍  # PHP面试常用算法(推荐)  # php经典算法集锦  # PHP常用算法和数据结构示例(必看篇)  # php使用高斯算法实现图片的模糊处理功能示例  # php实现的常见排序算法汇总  # PHP实现广度优先搜索算法(BFS  # Broad First Search)详解  # 基于PHP实现的多元线性回归模拟曲线算法  # 程序设计  # 递归  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 面向对象  # 相连接  # 讲述了  # private  # dfs_save  # Search_Method  # function  # __construct  # arr  # public  # string  # pre 


相关文章: 如何通过VPS建站实现广告与增值服务盈利?  个人网站制作流程图片大全,个人网站如何注销?  教学论文网站制作软件有哪些,写论文用什么软件 ?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  建站之星导航配置指南:自助建站与SEO优化全解析  广州建站公司哪家好?十大优质服务商推荐  网站设计制作公司地址,网站建设比较好的公司都有哪些?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在景安服务器上快速搭建个人网站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何快速完成中国万网建站详细流程?  安徽网站建设与外贸建站服务专业定制方案  如何配置IIS站点权限与局域网访问?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  视频网站制作教程,怎么样制作优酷网的小视频?  如何通过西部数码建站助手快速创建专业网站?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  手机网站制作与建设方案,手机网站如何建设?  IOS倒计时设置UIButton标题title的抖动问题  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  网站制作软件有哪些,制图软件有哪些?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  购物网站制作公司有哪些,哪个购物网站比较好?  韩国服务器如何优化跨境访问实现高效连接?  个人摄影网站制作流程,摄影爱好者都去什么网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  建站之星代理如何优化在线客服效率?  香港服务器租用每月最低只需15元?  如何在服务器上配置二级域名建站?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  开源网站制作软件,开源网站什么意思?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  php json中文编码为null的解决办法  高端智能建站公司优选:品牌定制与SEO优化一站式服务  公司网站的制作公司,企业网站制作基本流程有哪些?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  如何用景安虚拟主机手机版绑定域名建站?  建站168自助建站系统:快速模板定制与SEO优化指南  建站之星代理商如何保障技术支持与售后服务?  代购小票制作网站有哪些,购物小票的简要说明?  浅谈Javascript中的Label语句  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何设置并定期更换建站之星安全管理员密码?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  上海网站制作开发公司,上海买房比较好的网站有哪些?  武清网站制作公司,天津武清个人营业执照注销查询系统网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。