Поиск циклов в графе приводит к пустому массиву - PullRequest
0 голосов
/ 04 июня 2019

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

Я приложил код ниже

import networkx as nx


G.add_nodes_from(['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18'])
G.add_edges_from([('1', '2'), ('1', '8'), ('1', '9'), ('1', '10'), ('1', '11'), ('1', '14'), ('1', '15'), ('1', '18'), ('2', '3'), ('2', '8'), ('2', '18'), ('3', '4'), ('3', '7'), ('3', '17'), ('4', '5'), ('4', '6'), ('4', '7'), ('4', '12'), ('4', '13'), ('4', '16'), ('4', '17'), ('5', '6'), ('5', '10'), ('5', '12'), ('6', '7'), ('6', '9'), ('7', '8'), ('8', '9'), ('9', '10'), ('10', '11'), ('11', '12'), ('11', '14'), ('12', '13'), ('13', '14'), ('13', '16'), ('14', '15'), ('15', '16'), ('15', '18'), ('16', '17'), ('17', '18')])

print(list(nx.simple_cycles(G)))

В моем примере должно быть несколько циклов.

Пожалуйста, дайте мне знать, что я здесь не так делаю.

1 Ответ

0 голосов
/ 04 июня 2019

печать (список (nx.find_cycle (G, источник = список узлов)))

...