def barabasi(n, m): edges = [] bag=[0] for i in xrange(1, n): for j in xrange(0,m): to = random.choice(bag) edges.extend(zip([i],[to])) bag.extend([i]) bag.extend([e[h] for e in edges[-m:] for h in range(2)]) return edges