You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dinic算法Java实现中字符串节点名引发的性能异常问题求助

Dinic算法Java实现中字符串节点名引发的性能异常问题求助

各位大佬好,我最近在Java里实现Dinic算法时遇到了一个特别奇怪的性能问题,想过来求助!

我用字符串类型作为图的顶点名称,发现一个离谱的现象:当节点名是纯数字(比如1、2、3……200)的时候,算法跑得特别快;可一旦给这些节点名加上前缀,随着前缀字符串长度增加,代码的执行速度就会变得特别慢,这实在让人摸不着头脑。

下面是我的算法实现代码:

package org.apache.misc.alg.dag;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.Set;

public class DinicCalculator<T> implements MaxAntichainCalculator<T> {

    private final Map<String, Map<String, Integer>> network;
    private List<String> nodes;
    private int[] level;

    public DinicCalculator(...) {
        // 原提问中省略的构造方法内容
    }

    // 其他算法实现方法...
}

备注:内容来源于stack exchange,提问作者hehe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 07:49:31