-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
nx.dfs_labeled_edges does not return last visited edge if depth_limit is specified #6239
Copy link
Copy link
Closed
Description
nx.dfs_labeled_edges does not return last (deepest) visited edge when traversing backwards if depth_limit is specified.
Current Behavior
graph = nx.path_graph(5, nx.DiGraph)
list(nx.dfs_labeled_edges(graph, source=0))
[(0, 0, 'forward'),
(0, 1, 'forward'),
(1, 2, 'forward'),
(2, 3, 'forward'),
(3, 4, 'forward'),
(3, 4, 'reverse'),
(2, 3, 'reverse'),
(1, 2, 'reverse'),
(0, 1, 'reverse'),
(0, 0, 'reverse')]
list(nx.dfs_labeled_edges(graph, source=0, depth_limit=4))
[(0, 0, 'forward'),
(0, 1, 'forward'),
(1, 2, 'forward'),
(2, 3, 'forward'),
(3, 4, 'forward'),
(2, 3, 'reverse'),
(1, 2, 'reverse'),
(0, 1, 'reverse'),
(0, 0, 'reverse')]
Note that edge (3, 4, 'reverse') is missing.
Expected Behavior
graph = nx.path_graph(5, nx.DiGraph)
list(nx.dfs_labeled_edges(graph, source=0, depth_limit=4))
[(0, 0, 'forward'),
(0, 1, 'forward'),
(1, 2, 'forward'),
(2, 3, 'forward'),
(3, 4, 'forward'),
(3, 4, 'reverse'),
(2, 3, 'reverse'),
(1, 2, 'reverse'),
(0, 1, 'reverse'),
(0, 0, 'reverse')]
Environment
Python version: 3.10
NetworkX version: 2.8.8 and 3.0rc1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels