//迪杰斯特拉算法:
/*
1.给定起点与终点,从起点开始找距离最小的点,再找距离找到点最小的(未找过的),直到找到终点
*/
public static void Djstl(Graph g,int s,int e)
{
int[] label=new int[g.nums]; //标记是否找过
for (int i = 0; i < label.Length;i++ )
{
label[i] = -1;
}
label[0] = 1;
int sums=0;
Console.Write(s.ToString()+" ");
while(s!=e)
{
int low = 10000;
int k = s;
for (int j = 0; j < g.nums;j++ )
{
if(label[j]==-1&&low>g.adjMatrix[s,j]&&g.adjMatrix[s,j]!=0)
{
low = g.adjMatrix[s, j];
k = j;
}
}
C#实现最短路径
最新推荐文章于 2021-09-08 18:54:00 发布