Algorithm 1 Breadth First Search