Carla. D. Savage formulated the following approximation algorithm for the vertex cover problem.
Given graph $G$, start at arbitrary node and traverse $G$ depth-first
Obtain DFS tree $T$
return $V_C =$ internal nodes of $T$.
Now I read everywhere that this algorithm is supposed to yield a 2-approximation, but the only proof I found was here, and frankly, I don't get it and it's rather longish. Unfortunately also, the original paper is nowhere to be found. At other places where this was given as an exercise, I find the hint that one should first show that the tree $T$ admits a matching $|M| \ge \frac{1}{2} |V_C|$. But if I had proved that (which I have no clue how to do), I have no idea how to use that knowledge. I don't see how I can put bounds on the output of the algorithm without an estimate for the number of internal nodes of an arbitrary tree. And the way I see it, such a tree can have between $1$ and $n-1$ leaves (consider the graphs which are a chain, or a star, respectively).
So I am puzzled. How could one show that this is a 2-approximation?