Question: graph1 = { a : [c], b : [c, e], c : [a, b, d, e], d : [c], e : [c, b], f :

graph1 = { "a" : ["c"],

"b" : ["c", "e"], "c" : ["a", "b", "d", "e"], "d" : ["c"], "e" : ["c", "b"], "f" : [] } def generate_edges(graph): edges = [] for node in graph: for neighbour in graph[node]: edges.append((node, neighbour)) return edges

print('## edges ##') print(generate_edges(graph1))

def find_isolated_nodes(graph): isolated = [] for node in graph: if not graph[node]: isolated += node return isolated print('## isolated nodes ##') print(find_isolated_nodes(graph1))

##word list{hit--hot--dot--dog--cog--log--lot

words ={ 'hit': 'hot': 'dot': 'dog': 'cog': 'log': 'lot':

}

print(generate_edges(words))

###Modify bfs() function to allow the user to enter 'startWord' and 'endWord'. The function should return 'True' if a transformation sequence exists. Return 'False' if there is no such transformation sequence. Notice that you don't need to find the number of transformations. It searches the tree using BFS algorithm to see if a transformation sequence exists###

def bfs(graph,start):

visited , queue = set() , [start]

while queue != []:

vertex = queue.pop(0) # from queue : pop the oldest

if vertex not in visited:

##Sample run

enter startWord : hot

enter endtWord : dog

True

enter startWord : hot

enter endtWord : cog

True

enter startWord : hit

enter endtWord : ddd

False

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!