Kruskals算法 - 按升序排序邻接矩阵

时间:2015-10-13 15:35:22

标签: java algorithm sorting matrix

所以我使用邻接矩阵来实现我的kruskals算法,但我不确定如何对这个矩阵进行排序。

同时仍然记住加权边属于哪两个顶点。我正在考虑迭代矩阵并将最低权重边缘添加到新矩阵并继续此过程,直到所有值按升序排列并添加到新矩阵中。

然而,我最终不知道这些边缘值属于哪两个顶点。所以我想问一下如何按升序排序我的值,同时记住每个值所属的行和列。

有没有具体的方法呢?任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:1)

您将无法按原样对矩阵进行排序 - 使用参考矩阵单元格的替代容器来存储边缘并对其进行排序。这个示例结构如下所示:

class Edge implements Comparable {
  int weight;
  int i; // x coordinate in the matrix
  int j; // y coordinate in the matrix
  int compareTo(Edge rhs) {
    return weight - rhs.weight;
  }
}