如何让c语言实现这个这个程序呀?有解题思路,有例题,求结果?急,Floyed算法使用图的邻接矩阵A 进行n次迭代来计算每对顶点间的最短路径,迭代过程中得到一个矩阵序列A0 ,A1 ,⋯,An ,矩阵元素A

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 07:11:05
如何让c语言实现这个这个程序呀?有解题思路,有例题,求结果?急,Floyed算法使用图的邻接矩阵A 进行n次迭代来计算每对顶点间的最短路径,迭代过程中得到一个矩阵序列A0 ,A1 ,⋯,An ,矩阵元素A

如何让c语言实现这个这个程序呀?有解题思路,有例题,求结果?急,Floyed算法使用图的邻接矩阵A 进行n次迭代来计算每对顶点间的最短路径,迭代过程中得到一个矩阵序列A0 ,A1 ,⋯,An ,矩阵元素A
如何让c语言实现这个这个程序呀?有解题思路,有例题,求结果?急,
Floyed算法使用图的邻接矩阵A 进行n次迭代
来计算每对顶点间的最短路径,迭代过程中得到一
个矩阵序列A0 ,A1 ,⋯,An ,矩阵元素An [ i,j]的值即
为从顶点i到顶点j的最短路径.首先在路径( i,j)
中插入顶点0,考虑路径( i,0,j) ,若该路径存在,比
较路径( i,j)和路径( i,0,j)的长度,取长度较短者作
为从顶点i到顶点j且中间顶点编号不大于0的最
短路径存入A1 [ i,j]中,记为( i,⋯,j) ,然后考虑路
径( i,⋯,1,⋯,j) ,求得从i到j且中间顶点编号不
大于1的最短路径存入A2 [ i,j].依此类推,逐个插
入图中的每个顶点,在k + 1次迭代时,矩阵Ak + 1 [ i,
j]的值为:
Ak + 1 [ i,j] =min
Ak [ i,j]
Ak [ i,k ] +Ak [ k,j]
其中Ak + 1 [ i,j]表示经过k + 1次迭代后得到的
值,等于从i到j且中间顶点编号不大于k的最短路
径长度.该算法复杂度为0 ( n3 ) .
下面是Floyed算法求每对顶点之间最短路径
的C语言程序,程序中矩阵A 用来进行n次迭代,
矩阵P用来记录路径,P [ i,j]为迭代过程中当前已
经求得的从顶点i到顶点j的最短路径上最后被插
入的那个顶点.
void Floyed (Graph G,int A [ n ] [ n ] ,int P[ n ] [ n ] )
{
 int i,j,k;
 for ( i = 0; i < n; i + + )
  for ( i = 0; j < n; j + + )
  {
   A [ i ] [ j] = G[ i ] [ j ];
   if (A [ i] [ j ] > 0)
    P[ i ] [ j ] = i;
   else
    P[ i ] [ j ] = 0;
  }
 for ( k = 0; k < n; k + + )
  for ( i = 0; i < n; i + + )
   for ( j = 0; j < n; j + + )
    if (A [ i ] [ k ] +A [ k ] [ j ]

如何让c语言实现这个这个程序呀?有解题思路,有例题,求结果?急,Floyed算法使用图的邻接矩阵A 进行n次迭代来计算每对顶点间的最短路径,迭代过程中得到一个矩阵序列A0 ,A1 ,⋯,An ,矩阵元素A
我不知道,这个题行不,因为用到了循环,是计算机C程序设计语言_第二版新版上面的例题:
#include <stdio.h>
/*当fahr = 0, 20,……,300时,分别打印华氏温度与摄氏温度对照表*/
main()
{
int fahr, celsius; /*定义两个整型变量:fahr,celsius*/
int lower, upper, step; /*还是定义整型变量:lower,upper,step*/
lower = 0; /*给lower赋初值*/
upper = 300; /*给upper赋初值*/
step = 20; /*给step赋初值*/

fahr = lower; /*把lower的值赋给fahr,你也可以直接给fahr赋个0*/
while (fahr <= upper) /*循环语句while的条件要求,fahr <= upper为真时,执行下面语句*/
{
celsius = 5 * (fahr-32) / 9; /*华氏转换成摄氏的公式*/
printf("%d\t%d\n",fahr, celsius); /*打印出fahrt celsius的值*/
fahr = fahr + step; /*在给fahr的值+20也就是step赋的值,在次进行循环*/
}
}

如何让c语言实现这个这个程序呀?有解题思路,有例题,求结果?急,Floyed算法使用图的邻接矩阵A 进行n次迭代来计算每对顶点间的最短路径,迭代过程中得到一个矩阵序列A0 ,A1 ,⋯,An ,矩阵元素A C语言中如何实现判断闰年的程序? 请设计一个C语言程序,能实现这个功能:输入10个单词,按字典序输出各单词 用c语言程序产生10个从-4.89到3.27的随机数主要有两个问题,一是如何在正负间选择,二是如何表示这个范围. C语言 如何实现保留三位小数,第四位四舍五入的程序 编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语言怎么写程序啊求详细解释~急! 【C语言编程】求解该简单程序的简化方式程序目的:定义一个八面的骰子,让其被抛掷10000次,计算结果每种情况,并求出最大出现数字是哪一面,这下面是我写的,我想知道如何让这个程序变得 C语言程序:倒序打印26个英文字母(程序改错)请帮忙改改错,让此程序能够实现题目要求 C语言(结构),这个题目如何分析? 现在有两个c语言程序,要合并在一起用怎么实现 C语言程序题:任意输入十个数,输出最大最小和平均数,这个程序咋么写啊? c语言程序 s=1!+2!+3!+4!.n!这个程序怎么编 C中,Reserve函数有何作用?如何实现这个函数C的,不要C++ C语言计算器程序错误这个程序前面4个选项可以实现,后面的三个用了没反应输出的得数为0,函数为有参有返回函数我想了半天想不到哪错了, matlab程序请教这个运算过程如何通过matlab用遗传算法的思路实现, 如何实现这个MATLAB 程序?这个程序有四个数要进行计算,U[A,B,C,D].A是现在时刻的采样值,B,C和D是前三次的采样值,然后用这四个数进行一系列运算.运算结束后再进行采样,然后将这一时刻的采样 如何用C语言编写程序实现哥德巴赫猜想 在C语言中,如何编写程序实现控制符号变化,比如-1和1交替变化.