我在遍历以下类型的图表时遇到问题。
这种遍历浮现在脑海中:
那么你认为在这种情况下哪种算法最好用。 BFS可能无法正常工作,因为在我的情况下,当我到达一个节点并且无法进行回溯时,我不知道所有输入。
我必须在C#中实现它。
答案 0 :(得分:4)
<强>观强>
使用广度优先搜索,但也计算每个节点(或类似地,输入列表)。
访问节点时:
您的例子:
候选人:A
我们处理A。
候选人:C,B,D
我们访问C,但不处理它的count = 1&lt; 2 =传入边缘。
候选人:B,D
我们访问B并处理它。
候选人:D,C,E,D
我们访问D,但不处理它,因为它的count = 1&lt; 2 =传入边缘(第二条边缘尚未处理)。
候选人:C,E,D
我们访问C并处理它。
候选人:E,D,E
我们访问E,但不处理它的计数= 1&lt; 3 =传入边缘(第二和第三边缘尚未处理)。
候选人:D,E
我们访问D并处理它。
候选人:D,E,E
我们访问D并处理它。
候选人:E,E
我们访问E,但不要处理它,因为它的计数= 2&lt; 3 =传入边缘(第三条边缘尚未处理)。
候选人:E
我们访问E并处理它。