我是靠谱客的博主 兴奋小猫咪,最近开发中收集的这篇文章主要介绍无向图最短路径算法c语言,求无向图的最短路径C/C++/C#算法?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

a70475eb02e36be0f05c5a084a88b2ba.png

守候你守候我

using System;using System.Collections.Generic;using System.Text;namespace PathEst{public static class qu{public static string shortest(int[][] g, int a, int v)//g,矩阵图。a,2起点。v,5终点。返回值,最后路径{int t = v;int[] P = new int[6];//用来存储得到的最短路径int[] D = new int[6];//用于存储由a到其它路径的长度const int INFINITY = 65535;int[] final = new int[6];//保存结点是否已访问过for (int i = 0; i < 6; ++i)//初始化{D[i] = g[a][i];//路径长度P[i] = a;//由此可“叶落归根”final[i] = 0;}final[a] = 1;//不访问起点for (int i = 1; i < 6; ++i){int min = INFINITY;//当前的最短路径for (int w = 0; w < 6; ++w)//取最距离a最近的点v{if ((final[w] == 0) && (D[w] < min))//如果存在更短的路径,替换{v = w;min = D[w];}}final[v] = 1;for (int w = 0; w < 6; ++w)//如果v是最短路径上的点,加到P[]中{if ((final[w] == 0) && (min + g[v][w] < D[w])){D[w] = min + g[v][w];P[w] = v;//从a到w最近路径,是v}}}//现在,P中已存在最短路径。。。D[t],是路径长度string r = t.ToString();do{r += P[t].ToString();t = P[t];} while (t != a);//读出反向路径//倒置字符串char[] chararray = r.ToCharArray();Array.Reverse(chararray);return new string(chararray);}}}

最后

以上就是兴奋小猫咪为你收集整理的无向图最短路径算法c语言,求无向图的最短路径C/C++/C#算法?的全部内容,希望文章能够帮你解决无向图最短路径算法c语言,求无向图的最短路径C/C++/C#算法?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部