给定连通图的一些边,问如何不重复走边遍历完这个图,并且边有一个名字,要使名字的字典序最小
想到用dfs来直接搜索,但是这题存在有环的问题,即一个节点会被遍历多次。如果采用至上而下的搜索,则会产生很多没用的搜索和回溯。可以采用至下而上的搜索策略,即如果一个所有的出度都被搜索过了,那么就可以入队。这样第一个入队的一定是终点。如果一个点有多个出度,即一个环的入口,那么只要用一个multiset来保证搜索出度是按照字典序就可以。
C++ Code
1 | class Solution { |
给定连通图的一些边,问如何不重复走边遍历完这个图,并且边有一个名字,要使名字的字典序最小
想到用dfs来直接搜索,但是这题存在有环的问题,即一个节点会被遍历多次。如果采用至上而下的搜索,则会产生很多没用的搜索和回溯。可以采用至下而上的搜索策略,即如果一个所有的出度都被搜索过了,那么就可以入队。这样第一个入队的一定是终点。如果一个点有多个出度,即一个环的入口,那么只要用一个multiset来保证搜索出度是按照字典序就可以。
C++ Code
1 | class Solution { |