有效地在容器中查找多个项目

Fir*_*cer 2 c++ algorithm search

我需要从一个大容器中找到许多对象.

我能想到的唯一方法就是在循环中一次只搜索一个项目的容器,然而,即使是一个有效的搜索,平均情况下说"log n"(其中n是容器的大小),这给了我整个操作的"m log n"(其中m是我正在寻找的项目数).

这对我来说似乎非常不理想,而且作为我可能需要在频繁的基础上做的事情,我肯定希望在可能的情况下改进.

这两个部分都没有实现,所以我愿意接受关于主容器格式,我正在寻找的项目的"列表"等的建议,以及实际的搜索算法.

这些项是复杂的对象,但搜索键只是一个简单的整数.

Ant*_*ima 5

哈希表基本上有O(1)查找.这为你提供了O(m)来查找m个项目; 显然你不能比O(m)更快地查找m项,因为你需要得到结果.