In the case of [1]}, the bounds of \(h_1, h_2\)  and \(h_3\)  are \(n^{O(\sqrt{k})}\) , \(n^{O(\sqrt{k})}\) , and \(O(n^6)\) , respectively.But this algorithm also works for directed graphs.
To deal with the second step, the algorithm of [2]} uses the algorithm in [1]},
and thus they have the same bound on \(h_3\) . But using clever ideas, they significantly improves the bounds of \(h_1\)  and \(h_2\)  to \(2^{O({k^2})}\)  and \(2^{O({k^2})}n+2^{O(k)}n^2\) , respectively.
