Как удалить все связанные узлы в направленном графе с помощью networkx?

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

Вот пример:

enter image description here

Скажем, я удаляю узел '11', я хочу, чтобы узел '2' также был удален (и в моем примере это будут узлы под 2, которые теперь также должны быть удалены), потому что он больше не связан с основным графом. Обратите внимание, что узлы '9' или '10' не должны быть удалены, потому что узлы '8' и '3' все еще соединяются с ними.

Я использую библиотеку python networkx. Я просмотрел документацию, но я не уверен в терминологии, поэтому я не уверен, как это называется. Если возможно, я бы хотел использовать функцию, предоставляемую библиотекой, а не создавать собственную рекурсию по графу (поскольку мой граф довольно большой).

Любая помощь или предложения о том, как это сделать, были бы замечательными.

Спасибо!

6
задан templatetypedef 8 January 2012 в 20:51
поделиться