【发布时间】:2015-10-13 15:35:22
【问题描述】:
所以我在我的 kruskals 算法实现中使用了邻接矩阵,但我不确定如何对这个矩阵进行排序。
同时还记得加权边属于哪两个顶点。我正在考虑迭代矩阵并将最低权重边缘添加到新矩阵并继续此过程,直到所有值都按升序并添加到该新矩阵。
但是我最终不知道这些边缘值属于哪两个顶点。所以我想问我如何才能按升序排列我的值,同时记住每个值属于哪一行和哪一列。
有具体的方法吗?任何帮助都会很棒,谢谢。
【问题讨论】:
-
创建一个类
Edge,它代表一条边并存储边的权重、源和目标。按重量比较Edge元素 -
具有邻接矩阵的 Kruskal 不是一个好选择 -- 具有琐碎优先级队列的 Prim 只需 O(n^2) 时间。
标签: java algorithm sorting matrix