1、 r(i,j)=r(i,k) end k dvoid Dijkstral(int v0) int i; bool sMAX_VEX; for(i=0;idim;i+) dv0i=mapv0i; si=false; if(i!=0)&(dv0iINF) pv0i=v0; else pv0i=-1; sv0=true; dv0v0=0; double min=INF; u=v0; for(int j=0;jj+) if(!sj&dv0jmin) u=j; min=dv0j; su=true; w=0;wdv0u+mapuw) dv0w=dv0u+mapuw; pv0w=u; Justin Hou
2、介绍 寻找最有价值路径(c语言) 描述: 从上(入口)往下行走,直到最下节点(出口)结束,将所经节点上的数值相加,要求找到一条最有价值路径(既是路径总数值最大)并输出总数值。 图: 入口 / / 出口 输入文件:(abc.in) 第一行只有一个数n(1=n=199),且n为奇数,说明节点的层。从第二行到底n+1行为每一层中各节点的数值(在0和100之间),各个数用空格隔开,输入不要求判错。 输出文件:(abc.out) 只有一个数,为所求路径的价值数。 例子: 输入文件内容: 5 3 4 1 2 9 8 输出文件内容: 23 正文 /* * File: longest.c Desciption
3、: 动态规划算法计算网络的最长路线和最短路线 Created: 2001/12/2 Author: Justin mailto:justin_hou */ #include #define N 7 顶点数目 I 999 表示无穷大 graphNN = 图的邻接矩阵 I, 4, 5, 8, I, I, 6, 7, 9, 9, 5, 4, I ; ListN; 存放拓扑序列 TopologicalOrder(); 拓扑排序函数 void main() 主 函 数 i, j, k, l; eeN, elN; 最长最短距离 path_eNN, path_lNN, n_eN, n_lN; 记录路径数据 初始化数据 for (i 0; i N; i+) n_ei 到 的最短路线的结点数 n_li 的最长路线的结点数 eei I; eli ee0 el0 初始化头结点 path_e00 path_l00 n_e0 1; n_l0 拓扑排序 if (!TopologicalOrder() return; 未完 Top2 楼atlantis13579(更深的蓝)(_)回复于 2002-07-21 15:42:06 得分 0 作者