У меня есть DiGrraph
, и я хочу обрезать любой узел, который не содержится в одном из simple paths между двумя указанными мной узлами. (Еще один способ подумать об этом - любой узел, который не может достигнуть иstart
и end
баллов следует обрезать).Узлы обрезки не в сетевом простом пути?
Лучший способ, которым я нашел это, - получить all_simple_paths
, а затем перестроить новый график, используя эти функции, но я надеюсь на более элегантное и менее подверженное ошибкам решение. Например, есть ли способ определить, что НЕ на простом пути, а затем удалить эти узлы?
Я не знаю, как. Но 'all_simple_paths' возвращает генератор, поэтому вам нужно только запросить его со следующей (..). Тогда, если ваш график не хранит данные на узлах, получение подграфа является однострочным. – Kikohs
Можете ли вы расширить это? Я не храню данные на узлах, но я не уверен, о чем вы думаете. Звучит многообещающе! – mlissner
Тогда я отвечу. – Kikohs