Hi, here’s your problem today. This problem was recently asked by Facebook:
Given an undirected graph, determine if a cycle exists in the graph.
Here is a function signature:
def find_cycle(graph):
# Fill this in.
graph = {
'a': {'a2':{}, 'a3':{} },
'b': {'b2':{}},
'c': {}
}
print find_cycle(graph)
# False
graph['c'] = graph
print find_cycle(graph)
# True
Can you solve this in linear time, linear space?