'Return an iterator of (node, adjacency set) tuples for all nodes
in the dense graph.
This is the fastest way to look at every edge.
For directed graphs, only outgoing adjacencies are included.
Returns
adj_iter : iterator
An iterator of (node, adjacency set) for all nodes in
the graph.'

def adjacency_iter(self):

    for n in self.adj:
        (yield (n, ((set(self.adj) - set(self.adj[n])) - set([n]))))
