没有合适的资源?快使用搜索试试~ 我知道了~
6-8算法AllLength1
需积分: 0 0 下载量 129 浏览量
2022-08-03
13:22:39
上传
评论
收藏 33KB PDF 举报
温馨提示
试读
1页
6-8算法AllLength1
资源详情
资源评论
资源推荐
求图中任意两顶点的最短路径算法的 C++实现
// edge[n][n]是有 n 个顶点的图的邻接矩阵;A[i][j]是顶点
i
V 至
j
V 的最短路径长度;
// path[i][j]是相应路径上顶点 j 的前一个顶点的序号。
void Graph_Matrix :: AllLength ()
{
int n = graphsize;
int **path = new int*[n];
int **A = new int*[n];
for(int i=0; i<n; i++)
{
path[i] = new int[n];
A[i] = new int[n];
}
for( i=0 ; i<n ; i++ ) // 矩阵 A 和 path 初始化
for(j=0 ; j<n ; j++ )
{
A[i][j] = edge[i][j] ; // 初始化的 A 即
)0(
A
if ( i != j && A[i][j] < max ) // max 是预定义的常数
path[i][j] = i ;
else
path[i][j] = -1 ;
}
for ( k=0 ; k<n ; k++ ) // 从 A
(-1)
开始构造 A
(n-1)
for ( i=0 ; i<n ; i++ )
if ( i != k )
for ( j=0 ; j<n ; j++ )
if( j!=k && j!=i && A[i][k]<max && A[k][j]<max && A[i][k]+A[k][j]<A[i][j])
{
A[i][j] = A[i][k] + A[k][j] ;
path[i][j] = path[k][j] ;
}
for(i=0; i<n; i++)
{
delete[] path[i];
delete[] A[i];
}
delete[] path;
delete[] A;
}
Jaihwoe
- 粉丝: 19
- 资源: 350
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0