我正在为联赛运动编写Java程序,该程序通过每支球队的当前比赛集和他们下一场比赛的时间表,然后在此基础上制作一个流网络模型。计划的想法是找出哪些球队已经被淘汰并且没有机会赢得或与任何其他球队分享一个位置。在分析网络后(应用 EdmondsKarp 算法。)我发现团队是否被淘汰。现在我也想模拟一下。我使用 JGraphT 作为图形库,并且可能会使用 JGraph 进行可视化(原因:一旦我创建了 JGraphT 对象,我就可以简单地用它们实例化 JGraph 对象并显示图形)。我昨天也发现了Jung框架,看起来不错。
主要问题是我从未编写过模拟程序,而这正是我需要“Hello World”帮助的地方。当我说模拟时,我的意思是我想直观地显示算法执行的每个部分,这里是示例场景:算法必须找到增广路径,所以我想显示每个新边何时添加到增广路径。用户将能够播放和停止动画。我还想展示所有边缘和类似事物的流动变化。到目前为止,我有算法工作,但我不知道如何进行模拟。我应该使用单独的线程进行模拟执行吗?我是否应该编写单独的类,该类将作为算法执行但状态记录甚至不知道真实算法(因为我不想中断真实算法的性能)。我是否应该使用当前算法并在其间添加一些行以保存某些数据结构中的执行状态,以便稍后用于向用户显示模拟?任何想法可能会有所帮助..