def main(): ''' num_vertices = 5 e0 = (2,3) e1 = (3,1) e2 = (1,0) e3 = (0,2) e4 = (0,4) e5 = (3,4) edges = [e0, e1, e2, e3, e4, e5] ''' num_vertices = 5 e0 = (0,1) e1 = (0,3) e2 = (0,4) e3 = (1,2) e4 = (1,3) e5 = (3,2) e6 = (3,0) e7 = (3,4) edges = [e0, e1, e2, e3, e4, e5, e6, e7] graph = Graph(num_vertices, edges) is_visited = [False] * num_vertices # DFS print("DFS : Order in which nodes were visited") stack = Stack() stack.push(0) is_visited[0] = True while not stack.is_empty: current_vertex = stack.pop() print(current_vertex) for neighbor in graph.get_neighbors(current_vertex): if not is_visited[neighbor]: is_visited[neighbor] = True stack.push(neighbor)
def main(): ''' num_vertices = 5 e0 = (2,3) e1 = (3,1) e2 = (1,0) e3 = (0,2) e4 = (0,4) e5 = (3,4) edges = [e0, e1, e2, e3, e4, e5] ''' num_vertices = 5 e0 = (0,1) e1 = (0,3) e2 = (0,4) e3 = (1,2) e4 = (1,3) e5 = (3,2) e6 = (3,0) e7 = (3,4) edges = [e0, e1, e2, e3, e4, e5, e6, e7] graph = Graph(num_vertices, edges) is_visited = [False] * num_vertices # BFS print("BFS : Order in which nodes were visited") queue = Queue() queue.enqueue(0) is_visited[0] = True while not queue.is_empty: current_vertex = queue.dequeue() print(current_vertex) for neighbor in graph.get_neighbors(current_vertex): if not is_visited[neighbor]: queue.enqueue(neighbor) is_visited[neighbor] = True
adjacency_graph.add_edge('a', 'b', 1) if not adjacency_graph.has_edge('a', 'b'): print( "Your code ran, but did NOT give True when checking whether the graph has an edge ('a', 'b') after adding edge ('a', 'b', 1)." ) else: print( "Your code ran, and it correctly output True when checking whether the graph has an edge ('a', 'b') after adding edge ('a', 'b', 1)." ) except: print( "Your code produced this error when adding edge ('a', 'b', 1) or checking has_edge('a', 'b')." ) print(sys.exc_info()[0]) try: if adjacency_graph.get_neighbors('a') != [('b', 1)]: print( "Your code ran, but did NOT output the right neighbors for 'a' when adding edge ('a', 'b', 1)." ) else: print( "Your code ran, and it correctly output the right neighbors for 'a' when adding edge ('a', 'b', 1)." ) except: print( "Your code produced this error when adding edge ('a', 'b', 1) or getting neighbors for 'a'." ) print(sys.exc_info()[0]) try: print("Testing edge list graph...")