Prim の MST アルゴリズムの時間計算量は、隣接O(|V|^2)
行列表現を使用する場合です。
隣接行列を使用してプリムのアルゴリズムを実装しようとしています。これを 参考にしています。
V = {1,2...,n}
U = {1}
T = NULL
while V != U:
/*
Now this implementation means that
I find lowest cost edge in O(n).
How do I do that using adjacency list?
*/
let (u, v) be the lowest cost edge
such that u is in U and v is in V - U;
T = T + {(u,v)}
U = U + {v}
編集:
- Prim のアルゴリズムをよく理解しています。
- ヒープと優先キューを使用して効率的に実装する方法を知っています。
- より良いアルゴリズムについても知っています。
- グラフの隣接行列表現を使用して、O(|V|^2) の実装を取得したいと考えています。
非効率な実装が欲しい