1 | initial version |
This will be faster to compute all intervals at once.
def intervals(g):
import itertools
dist = g.distance_all_pairs()
intervals = dict()
for u,v in itertools.combinations(g.vertices(), 2):
intervals[u,v] = list()
for w in g.vertices():
if u!=w and v!=w and dist[u][v]==dist[u][w]+dist[w][v]:
intervals[u,v].append(w)
intervals[v,u] = copy(intervals[u,v])
return intervals