我想找到2d Vector表是否有重复。我可以通过使用独特的STL算法看到很多用于删除重复项的程序。对于100,000条记录,哪种方法可以找到“重复与否”。
答案 0 :(得分:0)
我会对此表进行排序,然后使用二进制搜索搜索重复项。这将是O(n^2 log n)
复杂性。比较用这样的东西进行排序:
p1.x < p2.x || (p1.x==p2.x && p1.y < p2.y)
大多数人会告诉你为此使用哈希表,但在最坏的情况下哈希表的构造时间为O(n^2)
。总复杂度为O(n^3)
。