Move tour, LOG and LOGN in utils, add vertices_from_set
This commit is contained in:
parent
43201caf9b
commit
dd1fe6569e
3 changed files with 34 additions and 23 deletions
30
utils.py
30
utils.py
|
|
@ -1,4 +1,20 @@
|
|||
|
||||
import sys
|
||||
|
||||
def LOG( *args ):
|
||||
"""Print something on stderr and flush"""
|
||||
for msg in args:
|
||||
sys.stderr.write( str(msg) )
|
||||
sys.stderr.write(" ")
|
||||
sys.stderr.flush()
|
||||
|
||||
|
||||
def LOGN( *args ):
|
||||
"""Print something on stdeer, with a trailing new line, and flush"""
|
||||
LOG( *args )
|
||||
LOG("\n")
|
||||
|
||||
|
||||
def adjacency_from_set( segments ):
|
||||
graph = {}
|
||||
for start,end in segments:
|
||||
|
|
@ -8,3 +24,17 @@ def adjacency_from_set( segments ):
|
|||
graph[end].append( start )
|
||||
return graph
|
||||
|
||||
|
||||
def vertices_from_set( segments ):
|
||||
vertices = set()
|
||||
for start,end in segments:
|
||||
vertices.add(start)
|
||||
vertices.add(end)
|
||||
return vertices
|
||||
|
||||
|
||||
def tour(lst):
|
||||
# consecutive pairs in lst + last-to-first element
|
||||
for a,b in zip(lst, lst[1:] + [lst[0]]):
|
||||
yield (a,b)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue