Professional Documents
Culture Documents
Prim
Prim
set<int> in_tree;
priority_queue<pair<int, int>, std::vector<pair<int, int>>, Compare> pq;
pq.push(make_pair(root, 0));
int cost = 0;
while (!pq.empty()) {
pair<int, int> min = pq.top();
pq.pop();
if (in_tree.find(min.first) != in_tree.end())
continue;
in_tree.insert(min.first);
cost += min.second;
return cost;
}