我正在编码物理模拟,我正在充分利用两个相同元素的向量(homebaked struct)。当我试图从vec1中删除我的vec2中包含的所有元素时,一个必要的关键是减慢了我的计算机(vec2中可能还有许多这个元素的副本),我当前的实现以复杂大小运行( vec1)* size(vec2)但它似乎与排序算法相距甚远,我认为有人可能已经更快地实现了某些东西(N.log(N))来完成工作。你听说过/操纵过类似的东西吗?
答案 0 :(得分:0)
如果向量没有排序,那么在任何情况下,复杂度将等于O(m * n),其中m和n是向量的大小。
答案 1 :(得分:0)
如果项目是可散列的,那么自己对矢量进行排序的速度要慢一些。它需要(N + M)从其中一个向量创建一个哈希表,然后在其中搜索另一个项目。