重复检测算法的复杂性

时间:2018-02-03 16:14:07

标签: java complexity-theory

我对复杂符号不太熟悉,有人可以帮我识别这种算法的复杂性吗?

for (int i = 0; i < records.size(); i++){

    for (int j = i; j < records.size(); j++){

        if(j != i & isDuplicate(records.get(i), records.get(j))){

            Pair p = new Pair(records.get(i).RecID,records.get(j).RecID);

            duplicates.add(p);

        }

    }

}

我有一个数据库表,想要检查每条记录,只记录一次所有记录,以检查它们是否重复。

1 个答案:

答案 0 :(得分:0)

可以在O(n)中通过散列第一个列表并查看第二个列表以检查hashset中的数据来完成。两个循环都是o(n)。散列查找是每个项目的O(1)。

您的代码是n ** 2,但这不是最有效的方法