我有一个有向无环图,其中每个节点都由一个状态表示
public class State{
List<State> ForwardStates;
string stateName;
}
whereForwardStates
是当前状态的下一个状态列表。
我有两个特殊状态
State initialState (name=initial)
State finalState (name=final)
我希望找到从初始状态开始到最终状态的所有路径,并填充
List<List<string>> paths
例如给出如下图
paths
应该包含值 {{"initial","a","final"},{"initial","b","final"}}
我应该如何在没有递归的情况下在 C# 中轻松实现这一点(因为图表可能很大)?