Сложность времени Примитивный алгоритм MST равен O(|V|^2)
, если вы используете представление матрицы смежности.Примитивный алгоритм MST в O (| V |^2)
Я пытаюсь реализовать алгоритм Прима, используя матрицу смежности. Я использую this в качестве справки.
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}
EDIT:
- Я понимаю алгоритм Прима очень хорошо.
- Я знаю, как эффективно его реализовать, используя кучи и очереди приоритетов.
- Я также знаю о лучших алгоритмах.
- Я хочу использовать представление матрицы смежности графа и получить реализацию O (| V |^2).
Я ХОЧУ неэффективного ВНЕДРЕНИЕ
Вот реализация V^2 в конце страницы http://www.personal.kent.edu/~rmuhamma/Algorithms/MyAlgorithms/GraphAlgor/primAlgor.htm – Ankush