您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

用php实现flody算法输出,该怎么解决

2024/5/1 20:37:09发布23次查看
用php实现flody算法输出
以下是我实现的flody算法,可是我在写output()函数时输不出来结果,请高手帮帮忙,写出来,不尽感激!
vexs = $vexs;
            $this->arcdata = $arc;
            $this->direct = $direct;
            $this->initalizearc();
            $this->createarc(); 
        }
private function initalizearc(){
            foreach($this->vexs as $value){
                foreach($this->vexs as $cvalue){
                    $this->arc[$value][$cvalue] = ($value == $cvalue ? 0 : $this->infinity);
                }
            }
        }
//创建图 $direct:0表示无向图,1表示有向图
        private function createarc(){
            foreach($this->arcdata as $key=>$value){
                $strarr = str_split($key);
                $first = $strarr[0];
                $last = $strarr[1];  
                $this->arc[$first][$last] = $value;
                if(!$this->direct){
                    $this->arc[$last][$first] = $value; 
                }
            }
        }
//floyd算法
        public function floyd(){
            $path = array();//路径数组
            $distance = array();//距离数组
foreach($this->arc as $key=>$value){
                foreach($value as $k=>$v){
                    $path[$key][$k] = $k;
                    $distance[$key][$k] = $v;
                }
            }
for($j = 0; $j vexs); $j ++){
                for($i = 0; $i vexs); $i ++){
                    for($k = 0; $k vexs); $k ++){
                        if($distance[$this->vexs[$i]][$this->vexs[$k]] > $distance[$this->vexs[$i]][$this->vexs[$j]] + $distance[$this->vexs[$j]][$this->vexs[$k]]){
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product