Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def graph_builder(mylist):
- #ADJACENCY LIST
- adj={}
- #GO THROUGH THE ARRAY OF ALL WAYS AND INITIALIZE A LIST FOR ALL OF THE NODES
- for w in wall:
- for i in range(0, len(w)):
- adj[w[i]]= []
- #GO THROUGH ALL OF THE WAYS AND ADD ALL OF THE ADJACENT NODES FOR A SPECIFIC NODE
- for w in wall:
- for i in range(0, len(w)):
- if i==0:
- adj[w[i]]= adj[w[i]] + [w[i+1]]
- elif i==len(w)-1:
- adj[w[i]]= adj[w[i]] + [w[i-1]]
- else:
- adj[w[i]]= adj[w[i]] + [w[i-1]] + [w[i+1]]
- #DEDUP THE REPEATED ADJACENT NODES FOR EACH NODE
- for e in adj:
- adj[e] = list(set(adj[e]))
- #MAKE A GRAPH FROM ADJACENCY LIST
- g=[]
- for k in adj:
- for v in adj[k]:
- g.append((k,v))
- #MAKE THE REVERSE OF THE GRAPH
- g1=[]
- for i,j in g:
- g1.append((j,i))
- #MERGE THE GRAPH AND ITS REVERSE: READY FOR EULER ALGORITHM
- g = g+g1
- return g
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement