print('BFS:\n%s'%copy.traverseBFS('s')) print('\nDFS:%s\n'%copy.traverseDFS()) print('\nAfter Delete Vertex r:') undirected.removeVertex('r') print(undirected) print('BFS:\n%s'%undirected.traverseBFS('s')) print('\nDFS:%s\n'%undirected.traverseDFS()) print('\nAfter Delete Edge x->u:') undirected.removeEdge('x','u') print(undirected) print('BFS:\n%s'%undirected.traverseBFS('s')) print('\nDFS:%s\n'%undirected.traverseDFS()) print('Shortest Path v->y: %s'%undirected.shortestPath('v','y')) print('Shortest Path s->y: %s'%undirected.shortestPath('s','y')) undirected.removeEdge('x','y') print('Shortest Path s->y after delete edge x->y: %s'%undirected.shortestPath('s','y')) print('Graph is a DAG: %s'%undirected.isDAG()) print('\nUnchanged Copy:\n%s'%copy) copy.removeVertex('w') print('Removing vertex w:\n%s'%copy) print('BFS:\n%s'%copy.traverseBFS('s')) print('\nDFS:%s\n'%copy.traverseDFS()) print('\nOriginal Graph:\n%s'%undirected)
from adjList import AdjList if __name__ == '__main__': print('Directed Cycle:') cycle = AdjList(True) for vertex in ['r','s','t','u']: cycle.addVertex(vertex) for source,dest in [('r','s'),('s','t'),('t','r'),('t','u')]: cycle.addEdge(source,dest) print(cycle) print('BFS:\n%s'%cycle.traverseBFS('s')) print('\nDFS: %s\n'%cycle.traverseDFS()) print('Graph is a DAG: %s'%cycle.isDAG()) print('Topological Sort: %s'%cycle.topologicalSort()) print('Strongly Connected Components: %s\n'%cycle.stronglyConnectedComponents())
print('Copy Graph after removing vertex "v"') copy.removeVertex('v') print(copy) print('DFS:%s\n'%copy.traverseDFS()) print('Compared to original graph:') print(dag) print('After Delete Vertex r:') dag.removeVertex('r') print(dag) print('BFS:\n%s'%dag.traverseBFS('s')) print('\nDFS:%s\n'%dag.traverseDFS()) print('\nAfter Delete Edge x->u:') dag.removeEdge('x','u') print(dag) print('BFS:\n%s'%dag.traverseBFS('s')) print('\nDFS:%s\n'%dag.traverseDFS()) print('Shortest Path v->y: %s'%dag.shortestPath('v','y')) print('Shortest Path s->y: %s'%dag.shortestPath('s','y')) dag.removeEdge('x','y') print('Shortest Path s-> y after delete edge x->y: %s'%dag.shortestPath('s','y')) print('\nGraph is a DAG: %s'%dag.isDAG()) print('\nCopy:\n%s'%copy)