Graph Traversing Algorithm