Esempio n. 1
0
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)
Esempio n. 2
0
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
Esempio n. 3
0
    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...")