You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
380 B
Python
16 lines
380 B
Python
2 years ago
|
from .graph import Graph
|
||
|
|
||
|
|
||
|
def build_graph(sequence):
|
||
|
graph = Graph()
|
||
|
for item in sequence:
|
||
|
if not graph.has_node(item):
|
||
|
graph.add_node(item)
|
||
|
return graph
|
||
|
|
||
|
|
||
|
def remove_unreachable_nodes(graph):
|
||
|
for node in graph.nodes():
|
||
|
if sum(graph.edge_weight((node, other)) for other in graph.neighbors(node)) == 0:
|
||
|
graph.del_node(node)
|