用python写图论作业,实现增广路算法;我通过list返回每次找到的增广路的路径,
但是观察发现从来没有找到一条增广路。不断插桩发现:每次dfs找到增广路,返回list之后,在上一层就停止返回找到的list了:
ret_list = dfs(graph, graph.get_vertex(adj), cur_match)
if ret_list:
return ret_list.append(v.get_val())
然后我意识到append的返回值并不是新的list,而是None;
这是最近第二次遇到python的返回值问题了。
应该修改为:
ret_list = dfs(graph, graph.get_vertex(adj), cur_match)
if ret_list:
ret_list.append(v.get_val())
return ret_list
自己没有系统的学习python,这样的情况还是应该查手册