当我有大量路径可供比较时,使用Java比较网络中两条路径的有效方法
我为每个类生成了大量路径。例如,n1是类1的路径数。路径的总数是M=sum(ni)i=1,2,…#类,我想一对一对地比较不同类的所有路径,看看它们是否有共同的节点。现在,我把每门课的路径都保存在一个文件夹中
ArrayList<List<Integer>>
对于列表中的每一条路径,我都有一个大小为M*M的布尔矩阵,当一条路径与其他路径没有共同点时,它的值为真。当它有共同点时,它是假的。但这非常耗时。您是否考虑过任何可能导致更快算法的数据结构。 谢谢!
# 1 楼答案
如果可以散列节点,请创建一个散列图>;把它们放进去,然后扫描这些值
伪代码: