Networkx dfs_edges 未按教授的预期运行
Networkx dfs_edges not functioning as intended by professor
dfs_edges(G, 4) 的预期输出是正确的,但它在一个边的位置上偏离了,我不明白为什么
输入:
G = nx.Graph()
edges = [(1,2),(1,3),(1,5),(2,5),(2,6),(3,4),(3,5),(4,5),(4,6),(4,7),(5,6)]
root = 4
G.add_edges_from(edges)
printGraph(G)
预期输出:
DFS traversal from from 4 = [(4, 3), (4, 7), (3, 1), (1, 2), (2, 5), (5, 6)]
我的代码:
import networkx as nx
def printGraph(G):
print("DFS traversal from from 4 =", list(nx.dfs_edges(G,4)))
代码结果:
DFS traversal from from 4 = [(4, 3), (3, 1), (1, 2), (2, 5), (5, 6), (4, 7)]
问题是 (4, 7) 边的位置,虽然我可以手动将它放在应该的位置,但这意味着它不适用于隐藏文本的情况 (Moodle)
这是你的图表:
在从节点 4 开始的 depth-first 搜索中,我希望首先或最后访问节点 7,而不是在节点 3 之后访问。您得到的输出对 dfs_edges
.预期的输出是不正确的。
得到的答案和预期的一样正确,原来他不想要dfs_edges,他想要的是dfs树的边,所以这个有效:
print("DFS traversal from from 4 =", nx.dfs_tree(G, root)).edges())
dfs_edges(G, 4) 的预期输出是正确的,但它在一个边的位置上偏离了,我不明白为什么
输入:
G = nx.Graph()
edges = [(1,2),(1,3),(1,5),(2,5),(2,6),(3,4),(3,5),(4,5),(4,6),(4,7),(5,6)]
root = 4
G.add_edges_from(edges)
printGraph(G)
预期输出:
DFS traversal from from 4 = [(4, 3), (4, 7), (3, 1), (1, 2), (2, 5), (5, 6)]
我的代码:
import networkx as nx
def printGraph(G):
print("DFS traversal from from 4 =", list(nx.dfs_edges(G,4)))
代码结果:
DFS traversal from from 4 = [(4, 3), (3, 1), (1, 2), (2, 5), (5, 6), (4, 7)]
问题是 (4, 7) 边的位置,虽然我可以手动将它放在应该的位置,但这意味着它不适用于隐藏文本的情况 (Moodle)
这是你的图表:
在从节点 4 开始的 depth-first 搜索中,我希望首先或最后访问节点 7,而不是在节点 3 之后访问。您得到的输出对 dfs_edges
.预期的输出是不正确的。
得到的答案和预期的一样正确,原来他不想要dfs_edges,他想要的是dfs树的边,所以这个有效:
print("DFS traversal from from 4 =", nx.dfs_tree(G, root)).edges())