Warshall算法求道路矩阵

来源:互联网 发布:芜湖生活频道 网络直播 编辑:程序博客网 时间:2024/05/20 03:04

输入有向图的邻接矩阵,Warshall算法求道路矩阵。

第i次循环将第i行叠加到第j行的非零元对应的行。

时间复杂度从O(n^4)降到O(n^3)。

#include <iostream>using namespace std;const int maxn = 10;bool P[maxn][maxn];int main () {    int n;    cin >> n;    for (int i = 0; i < n; i++)        for (int j = 0; j < n; j++)            cin >> P[i][j];                     //邻接矩阵    for (int i = 0; i < n; i++)        for (int j = 0; j < n; j++)            for (int k = 0; k < n; k++)                P[j][k] += P[j][i] * P[i][k];    for (int i = 0; i < n; i++) {        for (int j = 0; j < n; j++) {            cout << P[i][j] << " ";        }        cout << endl;    }    return 0;}


0 0
原创粉丝点击