Write pseudo code for each of the searches below: Breadth-first search - list / queue bfs( Vertex i ){ Queue q - initialize with i; mark i as visited while( q is not empty){ v = q.dequeue() // check for unvisited locations foreach u in (neighbor of v){ if( ! u is visited ){ mark u as visited q.enqueue( u ) } } } } visit( Vertex i){ display i's name } Depth-first search dfs( Vertex i ){ Stack q - initialize with i; mark i as visited while( q is not empty){ v = q.pop() // check for unvisited locations foreach u in (neighbor of v){ if( ! u is visited ){ mark u as visited q.push( u ) } } } } i: A q: B C F visited: A B C F v: B u: