PHP中如何實現深度優(yōu)先搜索算法-創(chuàng)新互聯

這篇文章將為大家詳細講解有關PHP中如何實現深度優(yōu)先搜索算法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

我們提供的服務有:成都網站制作、網站建設、微信公眾號開發(fā)、網站優(yōu)化、網站認證、玉龍ssl等。為上1000+企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的玉龍網站制作公司

深度優(yōu)先搜索的實現原理:

PHP中如何實現深度優(yōu)先搜索算法

實現代碼:

<?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();
  }
  //深度優(yōu)先搜索的遞歸實現方法
  public function dfs($v)
  {
    //對頂點做一些操作
    echo str_repeat("-",$this->k);
    echo 'V'.($v+1).'<br>';
    //記錄已訪問的頂點
    $this->arr[]= $v;
    //查找與頂點相連接的頂點,如果存在就繼續(xù)深度優(yōu)先搜索
    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中如何實現深度優(yōu)先搜索算法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

當前題目:PHP中如何實現深度優(yōu)先搜索算法-創(chuàng)新互聯
分享路徑:http://bm7419.com/article30/didpso.html

成都網站建設公司_創(chuàng)新互聯,為您提供電子商務、企業(yè)網站制作、搜索引擎優(yōu)化、域名注冊、建站公司、ChatGPT

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

微信小程序開發(fā)