在2D矢量字符串中查找重复项

时间:2013-04-06 05:20:35

标签: c++ stl duplicates

我想找到2d Vector表是否有重复。我可以通过使用独特的STL算法看到很多用于删除重复项的程序。对于100,000条记录,哪种方法可以找到“重复与否”。

1 个答案:

答案 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)