Seagate Lyve Mobile devices can be modeled as vertices in a directed connectivity graph. Given an adjacency-list representation and a starting device, return the order in which devices are visited using breadth-first search (BFS).
Visit each reachable device at most once. When processing a device, examine its neighbors in the order provided by the adjacency list. Mark a device visited when it is added to the queue, not when it is removed. Return an empty list if start is not present in graph.
Implement bfs_traversal(graph, start):
graph is a dictionary mapping string device identifiers to lists of string neighbor identifiers.start is a string identifying the first device.start.A to B does not imply an edge from B to A.def bfs_traversal(graph, start):