对于阻止或报告反馈循环的抽象路由网络,推荐的实现是什么。
例如:
这个例子会创建一个反馈循环。 A的最终值在分配之前是未知的,并且在该系统中,A无法准确地调制依赖于A的值,从而得到A的最终值。
实际实现更复杂,有更多的传递,任何值都可以调制任何其他值,只要它们不创建这种反馈循环。
是否有任何库或容器类型可能有助于解决此问题?
答案 0 :(得分:2)
从编程的角度来看,您正在查看有向图,并尝试确定它是否是非循环的。鉴于您正在使用C ++,Boost Graph Library将是明显的选择。如果你在图上尝试拓扑排序,那么当/如果图包含一个循环时,它将失败(通过抛出boost::not_a_dag
)(因为只能对非循环图进行拓扑排序)。