bfs and dfs algorithm with example in java