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

制作自助网站东莞大型网站建设

制作自助网站,东莞大型网站建设,优化排名推广关键词,做相册的网站 网易首先#xff0c;引进一个辅助向量D#xff0c;它的每个分量D[i]表示当前所找到的从始点v0到每个终点vi的最短路径的长度。 它的初态为#xff1a;若从v0到vi有弧#xff0c;则D[i]为弧上的权值#xff1b;否则#xff0c;置D[i]为∞。 显然#xff0c;长度为 D[j]Min{… 首先引进一个辅助向量D它的每个分量D[i]表示当前所找到的从始点v0到每个终点vi的最短路径的长度。 它的初态为若从v0到vi有弧则D[i]为弧上的权值否则置D[i]为∞。 显然长度为 D[j]Min{D[i]|vi∈V-S}, S初值为{v0} 的路径就是从v0出发的长度最短的一条路径。 此路径为v0, vj。 那么下一条长度次短的路径是哪一条呢 假设该次短路径的终点是vk可想而知这条路径或者是v0, vk或者是v0, vj, vk。 它的长度或者是从v0到vk的弧上的权值或者是D[j]和从vj到vk的弧上的权值之和。 在一般情况下下一条长度次短的路径的长度必是 D[j]Min{D[i]|vi∈V-S} 其中D[i]或者是弧v0, vi上的权值或者是D[k]vk∈S和弧vk, vi上的权值之和。 根据以上分析可以得到如下描述的算法。 假设用带权的邻接矩阵arcs表示带权有向图arcs[i][j]表示弧〈vi, vj〉上的权值。 若〈vi, vj〉不存在则置arcs[i][j]为∞在计算机上可用允许的最大值代替。 S为已找到从v0出发的最短路径的终点的集合它的初始状态S{v0}。 那么从v0出发到图上其余各顶点vi可能达到最短路径长度的初值为 D[i]arcs[LocateVertex(G,v0)][i], vi∈V-S 选择vj使得 D[j]Min{D[i]|vi∈V-S} vj就是当前求得的一条从v0出发的最短路径的终点。令SS∪{vj}。 3修改从v0出发到集合V-S上任一顶点vk可达的最短路径长度。如果 D[j]arcs[j][k]D[k] 则修改D[k]为 D[k]D[j]arcs[j][k] 重复操作步骤2和步骤3共n-1次。 由此求得从v0到图上其余各顶点的最短路径是依路径长度递增的序列。 用C语言描述的Dijkstra算法如下: #include iostream using namespace std;const int MAXW 30000; const int MaxVertexNum 30; typedef int VertexType; class MGraph { public:void CreateGraph();void ShortestPath_Dij(int v0);void Print_Path_Dij(int v0);private:int vertexnum;VertexType vertexs[MaxVertexNum];int edgenum;int P[MaxVertexNum];int D[MaxVertexNum];int arcs[MaxVertexNum][MaxVertexNum]; };void MGraph::CreateGraph() {cout 请输入节点数和边条数 endl;cin vertexnum edgenum;for (int i 0; i vertexnum; i)for (int j 0; j vertexnum; j)arcs[i][j] MAXW;cout 请依次输入按序号0到n顶点的中存储的信息 endl;for (int i 0; i vertexnum; i){cin vertexs[i];}cout 下面输入边的信息 endl;for (int i 0; i edgenum; i){int v1, v2, w;cout 输入边i,j对应的顶点序号i,j,然后再输入该边的权值 endl;cin v1 v2 w;arcs[v1][v2] w;} }void MGraph::ShortestPath_Dij(int v0) {bool f[MaxVertexNum];for (int v 0; v vertexnum; v){f[v] false;D[v] arcs[v0][v];P[v] -1;if (D[v] MAXW) P[v] v0;}D[v0] 0;f[v0] true;for (int i 0; i vertexnum; i){int v -1;int min MAXW;for (int w 0; w vertexnum; w)if (!f[w] D[w] min){v w;min D[w];}if (v -1) break;f[v] true;for (int w 0; w vertexnum; w){if (!f[w] (min arcs[v][w] D[w])){D[w] minarcs[v][w];P[w] v;}}} }void MGraph::Print_Path_Dij(int v0) {cout The shortest path from Vertex: v0 to the other Vertex: endl;for (int v 0; v vertexnum; v){if (P[v] -1)continue;cout D[v] ;cout v ;int i v;while (P[i] ! -1){cout P[i] ;i P[i];}cout endl;} }int main() {MGraph g;g.CreateGraph();int v0;cin v0;g.ShortestPath_Dij(v0);g.Print_Path_Dij(v0);return 0; }测试结果: 以上代码存在一点小问题有时间我会进行修改的我最新发布的dijkstra的代码是正确的可以在我的博客主页搜索找一下。
http://www.zqtcl.cn/news/511270/

相关文章:

  • 南通网站建设入门wordpress google seo
  • 怎么建立图片的网站吗网站响应式是什么意思
  • 网站建设买了服务器后怎么做WordPress多城市
  • 网站建设凭证成都网站设计公司
  • 创新创业营销策略网站建设等做钢材的都用什么网站
  • 英文免费网站模板大庆+网站建设
  • 品牌网站建设内容框架网站首页收录没了
  • 湖南城乡住房建设厅网站网站图片切换效果
  • 凡科做的网站可以在百度搜到吗阿里云nas做网站
  • 做企业销售分析的网站更改wordpress传文件尺寸
  • 网站建设策划书封面知名企业名称
  • 中小企业网站建设与管理课件百度云济南高端网站建设公司
  • 台州企业建站程序网页设计素材网站知乎
  • wordpress视频付费谷歌seo专员是指什么意思
  • 域名续费做网站wordpress模板淘宝客模板
  • 加强政协机关网站建设深圳教育软件app开发
  • 绍兴企业网站推广Django 个人博客网站开发
  • html5 开发网站图门市建设局网站
  • wordpress 建立网站江苏电信网站备案
  • 企业网站能个人备案吗成都蜀美网站建设
  • 网站开发 占位符直播网站开发接入视频
  • 网站 易用性原则义乌进货网平台
  • 做网站的你选题的缘由是什么洛阳网站建设找汉狮
  • 常德住房和城乡建设局网站陕西省建设厅的网站
  • 国外做meta分析的网站开发公司替业主承担物业费承诺书
  • 百度收录网站定位地址wordpress 检测浏览器
  • 学习网站建设优化wordpress 轮播广告
  • 迈诺网站建设wordpress 前台注册登录
  • 网站开发市场成本免费建站网站大全
  • 四川省建设人才网站通过ip访问网站需要怎么做