我正在尝试在Java中实现Ford–Fulkerson algorithm,并且遇到了一些问题,我的代码变得令人讨厌和不必要地复杂。
我想要的是:
class Node:
private int id
private static int idAssigner // I may move this to another class
// etc
class flowNetwork
private Node source // begin point
private Node sink // end point
现在,我想像对(双向)树一样对节点进行分组。每个节点都有其连接到的所有节点的列表。
我的问题是:我如何给这个连接一个值(最大流量,电流)?
我是否应该使另一个具有
Connection
Node A
和Node B
/ max flow
的类current flow
。如果这样做,应该如何连接节点? (例如,每个节点都应该有一个Connection
,那不是多余的吗?我有点卡住了。编辑或者我应该只使用
Connections
并实现某种搜索功能来简化链接元素。说实话,这就是我能想到的一切。附言
此类大部分只是数学部分,因此我从未实现过图形,也没有涵盖此课程,因此,感谢您对新手的帮助:)(也就是说,如果在5分钟之内没有完成)。
最佳答案
我认为,您可以在每个节点中使用链接节点的地图。以节点密钥和链接信息为值。
这不是一个快速的解决方案,但是很简单。
拥有矩阵的速度更快,其中wich的元素是一个链接对象,其中包含所有链接信息。行和列将是节点索引。
关于java - 为Ford-Fulkerson算法创建类似于对象的图形的智能方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20543521/