全网整合营销服务商

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

免费咨询热线: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 


相关文章: 常州自助建站:操作简便模板丰富,企业个人快速搭建网站  完全自定义免费建站平台:主题模板在线生成一站式服务  北京企业网站设计制作公司,北京铁路集团官方网站?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  如何打造高效商业网站?建站目的决定转化率  高防服务器租用如何选择配置与防御等级?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  如何在IIS服务器上快速部署高效网站?  南宁网站建设制作定制,南宁网站建设可以定制吗?  如何在万网自助建站平台快速创建网站?  如何通过免费商城建站系统源码自定义网站主题与功能?  如何在Golang中使用replace替换模块_指定本地或远程路径  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  建站与域名管理如何高效结合?  建站之星代理费用多少?最新价格详情介绍  济南网站制作的价格,历城一职专官方网站?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何快速配置高效服务器建站软件?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  建站之星安装模板失败:服务器环境不兼容?  建站之星多图banner生成与模板自定义指南  如何在云主机上快速搭建多站点网站?  香港服务器租用每月最低只需15元?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  全景视频制作网站有哪些,全景图怎么做成网页?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何快速生成专业多端适配建站电话?  网站代码制作软件有哪些,如何生成自己网站的代码?  如何在Windows环境下新建FTP站点并设置权限?  C#怎么使用委托和事件 C# delegate与event编程方法  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何通过wdcp面板快速创建网站?  如何快速生成高效建站系统源代码?  ,如何利用word制作宣传手册?  建站之星CMS五站合一模板配置与SEO优化指南  如何高效生成建站之星成品网站源码?  如何撰写建站申请书?关键要点有哪些?  大连网站制作公司哪家好一点,大连买房网站哪个好?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  建站之星Pro快速搭建教程:模板选择与功能配置指南  建站主机选虚拟主机还是云服务器更好?  C++如何编写函数模板?(泛型编程入门)  免费ppt制作网站,有没有值得推荐的免费PPT网站?  建站之星24小时客服电话如何获取?  如何获取免费开源的自助建站系统源码?  建站VPS配置与SEO优化指南:关键词排名提升策略  兔展官网 在线制作,怎样制作微信请帖?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型 

您的项目需求

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