日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

关于迪杰斯特拉算法(最短路)的PHP实现

發布時間:2023/12/15 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于迪杰斯特拉算法(最短路)的PHP实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

? <?php class?dijistra {public?$inf=0x7fffffff;//最開始把不同的邊賦值無限大public?$MaxV=10000;//最大點數public?$N,$M;public?$froms;public?$tos;public?$ws;public?$dist=array();public?$path=array();public?$p=array();public?$map=array();function?dijkstra($s){for($i=0;$i<=$this->N;$i++)//對于每個點,設置為沒訪問過,和設置距離{$this->p[$i]=false;$this->dist[$i]=$this->map[$s][$i];$this->path[$i]=$s;}/*設置出入點的參數*/$this->dist[$s]=0;$this->path[$s]=$s;$this->p[$s]=true;for($i=1;$i<=$this->N;$i++)//開始掃點{$min=$this->inf;$k=0;for($j=1;$j<=$this->N;$j++){if(!$this->p[$j]&&$this->dist[$j]<$min){$min=$this->dist[$j];$k=$j;}}if($k?==?0){print_r("bu?tong?<br>");return;}$this->p[$k]=true;for($j=1;$j<=$this->N;$j++){if(!$this->p[$j]&&$this->map[$k][$j]!=$this->inf&&$this->dist[$j]>$this->dist[$k]+$this->map[$k][$j]){$this->dist[$j]=$this->dist[$k]+$this->map[$k][$j];$this->path[$j]=$k;}}}}function?init(){for($i=0;$i<=$this->N;$i++)//初始化將每兩個點之間的邊權先賦為無窮大{for($j=0;$j<=$this->N;$j++){if($i==$j)?$this->map[$i][$j]=0;else?$this->map[$i][$j]=$this->inf;}???}for($i=0;$i<$this->M;$i++)//對于給出的兩點的邊權,更換成邊權{$frompre=$this->froms[$i];$topre=$this->tos[$i];$valuepre=$this->ws[$i];$this->map[$frompre][$topre]=$this->map[$topre][$frompre]=$valuepre;}}function?main($N,$M,$froms,$tos,$ws){$this->N=$N;$this->M=$M;$this->froms=$froms;$this->tos=$tos;$this->ws=$ws;$this->init();//初始化$this->dijkstra(1);for($i=1;$i<=$this->N;$i++){echo?"dist[".$i."]???=???".$this->dist[$i]."<br>";}} }? ?> <?php $N=4;//點的個數 $M=4;//邊的個數 $froms=array('1','1','2','1');//邊開始點 $tos=array('2','3','3','4');//邊到達點 $ws=array('3','4','0','2');//邊權 $d?=?new?dijistra(); $d->main($N,$M,$froms,$tos,$ws); ?>


轉載于:https://my.oschina.net/MrHou/blog/143896

總結

以上是生活随笔為你收集整理的关于迪杰斯特拉算法(最短路)的PHP实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。