В качестве альтернативы, в зависимости от типа графа, а именно: направленный , сильно или слабо связанный или ненаправленный - создать компонентные подграфы (sub_G), то есть
(G.subgraph(c) for c in connected_components(G))
или если направлено:
nx.weakly_connected_component_subgraphs(G)
или nx.strongly_connected_component_subgraphs(G)
Кроме того, данный sub_G является ориентированным графомпроверьте прочность соединений, например,
nx.is_strongly_connected(sub_G)
или ng.is_weakly_connected(sub_G)
В сочетании или по отдельности эти рекомендации уменьшат ненужную проверку путей, которые не существуют из-за характерасоставляющих подграфа (ов).