我在遍历以下类型的图表时遇到问题。
- 在每个节点上可能有多个输入和输出。
- 每个输出可以指向多个输入(例如 A 的第三个输出到 C 和 D)
- 在每个节点上,根据输入中提供的值进行一些计算。输出的结果提供给其他节点的输入。
- 要从一个节点遍历到下一个节点,我必须知道所有输入的值。
想到这个遍历:
- 在 A 处,使用唯一的输入来计算所有的输出
- 使用 A 的第一个输出从 A 移动到 C。
- 在 C,我们不知道另一个输入,所以回溯到 A。
- 在 A 处,使用第二个输出到达 B。
- 在 B,我们没有所有的输入,所以回溯到 A。
- 在 A 处,取第三个输出并到达 B。
- 在 B,现在我们有所有的输入来计算输出。
- 在 B,通过第一个输出到达 C。
- 在 C 处,我们拥有所有输入,因此进行计算并到达 E。
- 等等
那么您认为哪种遍历算法在这种情况下效果最好。BFS 可能不起作用,因为在我的情况下,当我到达一个节点时我不知道所有输入,并且不可能回溯。
我必须在 C# 中实现它。