当前位置: 首页 > news >正文

深圳的网站建设公司百度免费安装下载

深圳的网站建设公司,百度免费安装下载,四川做网站优化价格,java web 网站开发目录 一、迪杰斯特拉算法(Dijkstra) 二、弗洛伊德算法(Floyd) 在网图和非网图中,最短路径的含义是不同的。 ——网图是两顶点经过的边上的权值之和最少的路径。 …

目录

一、迪杰斯特拉算法(Dijkstra)

二、弗洛伊德算法(Floyd)


 

在网图和非网图中,最短路径的含义是不同的。

——网图是两顶点经过的边上的权值之和最少的路径。                                                                    

——非网图是两顶点之间经过的边数最少的路径。

我们把路径起始的第一个顶点称为源头,最后一个顶点称为终点。

关于最短路径的算法:

1、迪杰斯特拉算法(Dijkstra)

2、弗洛伊德算法(Floyd)

一、迪杰斯特拉算法(Dijkstra)

#include <stdio.h>
#include <stdlib.h>#define MAXVEX 9
#define INFINITY 65536typedef int Patharc[MAXVEX];				//用于存储最短路径下标的数组 
typedef int ShortPathTable[MAXVEX];			//用于存储到各点最短路径的权值 void ShortestPath_Dijkstra(MGraph G , int V0,Patharc *p,ShortPathTable *D)
{int v,w,k,min;int final[MAXVEX];						//final[w]=1 表示已经求得顶点v0到vw的最短路径 //初始化数据 for(v=0;v<G.numVertexes; v++){final[v] = 0;						//全部顶点初始化为未找到最短路径 (*D)[v] = G.arc{V0}[v];				//将与v0点有连接线的顶点加上权值 (*p)[v] = 0;						//初始化路径数组p为0 }(*D)[V0] = 0;					//v0至v0的路径为0 final[v0] = 1;					//v0至v0不需要求路径 //开始主循环,每次求得v0到某个v顶点的最短路径 for(v=1;v<G.numVertexes;v++){min = INFINITY;for(w =0; w<G.numVertexes; v++){if(!final[w]&&(*D)[w]<min){k = w;min = (*D)[w];	}	} final[k] = 1;//将目前找到的最短路径置1 //修正当前最短路径及距离 for(w=0; w<G.numVextexes;w++){//如果经过v顶点的路径比现在这条路径的长度短的话,更新! if( !final[w]&&(min+G.arc[k][w] < (*D)[w])){(*D)[w] = min + G.arc[k][w];		//修改当前路径长度 (*p)[w] = k;						//存放前驱顶点 }} }
}

二、弗洛伊德算法(Floyd)

        弗洛伊德算法非常简洁优雅。

 

#include <stdio.h>
#include <stdlib.h>#define MAXVEX 9
#define INFINITY 65536typedef int Pathmatirx[MAXVEX][MAXVEX];
typedef int ShortPathTable[MAXVEX][MAXVEX];void ShortestPath_Floyd(MGraph.G,Pathmatirx *p,ShortPathTable *D)
{int v,w,k;//初始化  D  和   p for(v=0;v<G.numVertexes;w++){for(w=0;w<G.numVertexes;w++){(*D)[v][w] = G.matirx[v][m];(*p)[v][w] = w;}}//弗洛伊德算法 for(k=0;k<G.numVertexes;k++){for(v=0;v<G.numVertexes;v++){for(w=0;w<G.numVertexes;w++){if((*D)[v][w] > ((*D)[v][k] + (*D)[k][w])){(*D)[v][w] = (*D)[v][k] + (*D)[k][w];(*p)[v][w] = (*p)[v][k];}}}}
} 

http://www.ds6.com.cn/news/40909.html

相关文章:

  • 企业网站优化推广怎么做seo技术培训宁波
  • 自己编程做网站网络软文营销
  • 可以做ps兼职的网站最新足球赛事
  • 北京网站建设学校什么叫关键词举例
  • 郑州做网站建设公司seo关键词优化排名推广
  • 网站做多个页面百度快速排名优化服务
  • 海门城乡建设管理局网站优化网站最好的刷排名软件
  • 京东那个做快消的网站百度人工电话
  • 资源网站如何做北京网络营销推广外包
  • 建网站的模块中国联通腾讯
  • phpstudy怎样做多个网站网站搜索引擎优化案例
  • 中企动力武汉分公司镇江搜索优化技巧
  • 濮阳网络诈骗2最新消息关于进一步优化 广州
  • 河源哪有做网站网站优化推广方法
  • 各种网站程序的优势百度搜索使用方法
  • 南康家具网站建设google seo是什么
  • phpcms可以做哪些网站万网域名注册官网
  • 顺德做网站的公司哪家好常见的网络营销方式有哪几种
  • 大疆网站建设百度客服电话人工服务
  • 网站美工培训机构投资网站建设方案
  • 郑州做网站比较好的公司百度热搜榜排行
  • 南京专业网站设计哪个品牌网站关键词优化推广哪家好
  • 为什么网站关键词没有排名网站推广策划思路
  • 桂平网站建设广州网站营销优化qq
  • 创新网站建设方案书seo项目是什么
  • 南宁网站建设公司seo优化sem百度竞价推广
  • 招标网站排名前十名福清网络营销
  • 上海网站备案核验长沙排名推广
  • 怎样做分类网站软文平台发布
  • 自己做的网站打开是乱码引流推广神器