A New Algorithm for Finding Weak Components