csci5451/assignments/03/dataset/gen2.py

25 lines
552 B
Python
Raw Normal View History

2023-12-10 22:58:28 +00:00
import igraph as ig
import random
import sys
try:
N = int(sys.argv[1])
except:
N = 1000
random.seed(0)
g = ig.Graph.Growing_Random(N, 5)
components = g.connected_components(mode='weak')
print(len(components))
with open(f"dataset/gen_{N}.txt", "w") as f:
both_edges = []
for edge in g.es:
both_edges.append((edge.source, edge.target))
both_edges.append((edge.target, edge.source))
num_edges = len(both_edges)
f.write(f"{N} {num_edges}\n")
for v1, v2 in sorted(both_edges):
f.write(f"{v1} {v2}\n")