Breadth First Search Implementation

I learned:
Difference between Sets and Lists:
Sets are significantly faster when it comes to determining if an object
is present in the set (as in x in s), but are slower than lists when it
comes to iterating over their contents.

append vs extend:
append adds an element to a list, extend concatenates the first list
with another list (or another iterable not necessarily a list.)