print "\nIncident Edges:" for i, el in enumerate(graph.list_vertices()): print "Vertex " + str(el.getLabel()) + ": " + str(map(lambda x: x.getValue(), graph.incident_edges(el.getUid()))) print "\nAdjacent Vertices:" for i, el in enumerate(graph.list_vertices()): print "Vertex " + str(el.getLabel()) + ": " + str(map(lambda x: x.getLabel(), graph.adjacent_vertices(el.getUid()))) print "\nEnd Vertices:" for i, el in enumerate(graph.list_edges()): print "Edge " + str(el.getValue()) + ": " + str(map(lambda x: graph.vertex(x).getLabel(), graph.end_vertices(el.getUid()))) print "\nAre Adjacent?" for i, el1 in enumerate(graph.list_vertices()): for j, el2 in enumerate(graph.list_vertices()): print "Vertices " + str(el1.getLabel()) + ", " + str(el2.getLabel()) + ": " + str(graph.are_adjacent(el1.getUid(), el2.getUid())) print "\n\n DIRECTED GRAPH STUFF --------" print "Directed?" for i, el in enumerate(graph.list_edges()): print "Edge " + str(el.getValue()) + ": " + str(el.is_directed()) print "\nIn degree:" for i, el in enumerate(graph.list_vertices()): print "Vertex " + str(el.getLabel()) + ": " + str(graph.in_degree(el.getUid())) print "\nIncoming Edges:" for i, el in enumerate(graph.list_vertices()): print "Vertex " + str(el.getLabel()) + ": " + str(map(lambda x: x.getValue(), graph.incoming_edges(el.getUid()))) print "\nOutgoing Edges:"
print "\nDuplicate using function\n" print "A Adjacency" print graph.adjacent_vertices(0) print "B Adjacency" print graph.adjacent_vertices(1) print "C Adjacency" print graph.adjacent_vertices(2) # End vertices print "End vertices" print graph.end_vertices(2) # is adjacent? print "Are 2 and 1 adjacent? (should be true)" print graph.are_adjacent(2, 1) print "Are 2 and 2 adjacent? (should be false)" print graph.are_adjacent(2, 2) print "Are 1 and 2 adjacent? (should be true)" print graph.are_adjacent(1, 2) print "Are 0 and 2 adjacent? (should be false)" print graph.are_adjacent(0, 2) print "Adjacent incoming A" print map(lambda x: x.getUid(), graph.adjacent_incoming(0)) print "Adjacent incoming B" print map(lambda x: x.getUid(), graph.adjacent_incoming(1)) print "Adjacent incoming C" print map(lambda x: x.getUid(), graph.adjacent_incoming(2)) print "Adjacent outgoing A" print map(lambda x: x.getUid(), graph.adjacent_outgoing(0))