- 3
- 0
- 约2.09千字
- 约 3页
- 2018-03-11 发布于河南
- 举报
最小路径的程序
根据以上分析最短路径算法,现在分别介绍
用VC + + 、Matlab 编写程序实现其算法:
(1) 在VC + + 环境中编译的程序如下[1 ] :
(有权无向图)
# include〈iost ream. h〉
# define MAX 50
# define up 50000
int cost [MAX] [MAX] ; int dist [MAX] ,n ;
st ruct
{
int num; int pnode[MAX] ;
} path[MAX] ;
void creatgraph ()
{
int i , j , s , p , l , contin = 1 ;
cout〈〈″顶点个数:″; cin 〉〉n ;
for (i = 0 ;i n ;i + + )
{
for (j = 0 ;j n ;j + + )
cost [ i ] [j ] = cost [j ] [ i ] = up ; cost [ i ] [ i ] = 0 ;
}
. . . . . . }
void shortdjs ()
{
int s[MAX] ; int mindis , dis , i , j , V0 = 0 , u ;
for (i + 0 ;i n ;i + + )
{
dist [ i ] = cost [V0 ] [ i ] ; path[ i ] . pnode [ 0 ] = V0 ;
path[ i ] . num = 0 ;
s[ i ] = 0 ;
}
s[V0 ] = 1 ;
for (i = 1 ;i n ;i + + )
{
??
}
void dispath ()
{
int i , j ;
cout〈〈″\ n 从V0 到各顶点的最短路径长度如
下: \ n″;
cout〈〈″\ t (起点- 终点) 最短长度 最短
路径\ n″;
cout〈〈″\ t - - - - - - - - - - - - - -
- - - - - - - - - - \ n″;
for (i = 1 ;i n ;i + + )
{
??
}
void main ()
{
creatgraph () ; shortdjs () ; dispath () ;
}
(2) 在Matlab 环境中编译程序如(3) : (有权有
向图)
建立minroad. M 函数
function [ P ,S(R) ] = minroad ( i , m , W)
% i 为最短路径的起始点, m 为图顶点数, W
为图的带权邻接矩阵,
% 不构成边的两顶点之间的权用inf 表示。
% S 是矩阵, S 的每一列从上到下记录了从始
点到终点的最短路径所经顶点的序号;
% R 是一行向量,记录了S 中所示路径的大小;
% P 是矩阵, P 中的每一列从上到倒数第二行
记录了从始点到终点的最短路径所经顶点的序
号;最后一行记录了该列所示路径的大小;
% S ( R) 的意思是:该位置根据需要书写S 或R 。
d = [ ] ;pp = [ ] ; n = [ ] ; n (1 ,1) = i ; V = 1 :m; V
(i) = [ ] ; d = [ 0 ;i ] ;
% d 的第二行是每次求出的最短路径的终点,第
一行是最短路径的值
p = 2 ; [ a ,c ] = size (d) ;
while~isempty (V)
[ td ,j ] = min (W(i ,V) ) ;tj = V(j) ;
for k = 2 :c
[ t1 ,jj ] = min (d (1 ,k) + W(d (2 ,k) ,V) ) ;
t2 = V(jj) ;pp (k - 1 , :) = [ t1 ,t2 ,jj ] ;
end
t = [ td ,tj ,j ;pp ] ; [ t3 ,t4 ] = min (t ( : ,1) ) ;
if t3 = = td , n (1 :2 ,p) = [ i ;t (t4 ,2) ] ;
else t5 = find (n ( : ,t4) ~ = 0) ;t6 = length (t5) ;
if d (2 ,t4) = = n (t6 ,t4)
n (1 :t6 + 1 ,p) = [ n (t5 ,t4) ;t (t4 ,2) ] ;
else ,n (1 :3 ,p) = [ i ;d (2 ,t4) ;t (t4 ,2) ] ;
end ;end
d = [ d ,[ t3 ;t (t4 ,2) ] ] ;V(t (t4 ,3) ) = [ ] ;
您可能关注的文档
最近下载
- 培智六年级生活数学期末试卷ABC卷.doc VIP
- 贵州省贵阳市普通中学2022-2023学年高三上学期期末语文(解析版).docx VIP
- 港口机械钢结构制造规范.pdf VIP
- 综合管廊施工组织设计.pptx VIP
- FloEFD 2312(Standalone)软件实例教程 第7-8章.pdf VIP
- 武勇 木质素性能应用及WPWG难点分析.pptx VIP
- 新青岛版(六三制)四年级上册科学全册精编知识点(超全).pdf
- 合盛硅业年产10万吨硅油项目环评可研资料环境影响.docx VIP
- 全国棉花交易市场电子仓单操作手册(仓库端,1.0版).PDF
- 7 杜凤沛 场景导向的省力化农药递送体系-青岛.pdf VIP
原创力文档

文档评论(0)