Предотвращение ошибки памяти в itertools.permutation

) Во-первых, я хотел бы упомянуть, что у меня есть 3 ГБ ram.

Я работаю над алгоритмом, который является экспоненциальным во времени на узлах, поэтому для него у меня есть код

perm = list( itertools.permutations(list(graph.Nodes))) # graph.Nodes is a tuple of 1 , 2 , ... n integers

, который генерирует все комбинации вершин в списке, а затем я могу работать с одной из перестановок .

Однако, когда я запускаю программу для 40 вершин, это дает ошибку памяти.

Есть ли какой-нибудь более простой способ реализации, с помощью которого я могу сгенерировать все комбинации вершин и не иметь этой ошибки.

6
задан 28 June 2011 в 08:01
поделиться