... cover of G is a subset U of the vertex set V such that every edge in E is incident to at least one vertex in U. A minimum node cover is one with the fewest number of vertices. Consider the following greedy algorithm for this problem:

Algorithm Cover (V , E)
{
U = 0;
repeat
{
let q be a vertex from V of maximum degree;
Add q to U; Eliminate q from V;
E = E - {(x,y ) such that x = q or y = q};
} until ( E = 0); // U is the node cover.
}

Does this algorithm always generate a minimum node cover ?