graph implementation in python

    graph = {'A': ['B', 'C'],
             'B': ['C', 'D'],
             'C': ['D'],
             'D': ['C'],
             'E': ['F'],
             'F': ['C']}

Here is what the above code is Doing:
1. We create a graph dictionary, where the keys are the nodes and the values are the nodes that are connected to the key.
2. We create a function that takes in a graph and a start node.
3. We create a visited list to keep track of the nodes that we’ve already visited.
4. We create a queue to keep track of the nodes that we need to visit.
5. We add the start node to the queue and the visited list.
6. We create a while loop that will run until the queue is empty.
7. We pop the first node off the queue and add it to the visited list.
8. We iterate through the neighbors of the node.
9. If the neighbor is not in the visited list, we add it to the queue.
10. We return the visited list.