Kruskal的算法 - 修改为矩阵数据结构?

时间:2016-11-22 05:11:16

标签: algorithm pseudocode kruskals-algorithm

此版本的Kruskal算法表示具有邻接列表的边缘。 如何修改伪代码而不是使用邻接矩阵?

Kruskal Pseudo-code

我在想你,我们需要使用边缘的权重,例如(i,j),只要它不为零。将顶点分配给i,j。我可能对这个Kruskals的伪代码感到有点困惑。

1 个答案:

答案 0 :(得分:2)

正如Henry所指出的,伪代码没有具体说明要使用的具体数据结构。在这种情况下,似乎图的邻接列表表示比邻接矩阵表示更方便。

对于邻接矩阵,您只需要扫描矩阵的每个条目,对第4行的图let patientRetrievedArray = getArray() 的边进行排序。当使用邻接列表表示时,您正在执行完全相同的操作。

在您的情况下,您可以使用G按重量按非递减顺序对边进行排序,并丢弃具有断开连接顶点的条目。然后,您可以在第5行的PriorityQueue中迭代此数据结构。