This is a continuation of my earlier post on Breadth First Search, and highlights some key elements for determining the shortest path in an unweighted graph

# Tracking edges

By applying BFS, we can traverse the graph and track the edges for all **unvisited** nodes. Optionally, we can also track the distance of the current node from the start node. This can be calculated by adding 1 to the value of the previous node in the edge.

# Data Structure

A map, dictionary or an array is a data structure best suited to keep track of the edges and the counts, as it would allow easy lookup of the previous node and count.

# Solving the problem

With the data in our hash table it now becomes possible to work backwards from the end node towards the start node to arrive at our solution

# References

https://www.youtube.com/watch?v=5mG-qBRhvKQ

https://www.youtube.com/watch?v=oDqjPvD54Ss