用warshall 算法求transitive closure

warshall , transitive closure

warshall 算法应用

  1. 城市中的各个公交站点怎样设置车次更科学
  2. 怎样转车更近,或者说转的车次更少(这个不能说是这个算法的一应用,只是和transitive closure相关)

code

  1. warshall算法求传递闭包

    bool map[9][9]; // 原始图
    bool tc[9][9];  // Transitive Closure
    void warshall()
    {
        // 先把原图复制
        for (int i=0; i<9; i++)
            for (int j=0; j<9; j++)
                tc[i][j] = map[i][j];
    
        for (int k=0; k<9; k++) // 计算每一个中继点
            for (int i=0; i<9; i++) // 计算每一个点i与点j
                for (int j=0; j<9; j++)
                    if (tc[i][k] && tc[k][j])
                        tc[i][j] = true;
    }
    

你可能感兴趣的:(closure,warshall,transitive)