设置查找成员与使用查找列表

drb*_*drb 1 c++ std set find

由于标准库集合容器中的项目已排序,因此使用集合中的查找成员通常比在排序列表中的相同项目上使用查找算法执行速度更快吗?

由于列表是线性的,并且通常使用排序树来实现集合,因此似乎set-find应该更快.

NPE*_*NPE 6

使用链表,即使是排序列表,找到一个元素O(n).可以搜索一组O(log n).因此,在集合中查找元素渐近更快.

可以O(log n)使用二分搜索来搜索排序的数组/向量.不幸的是,由于链表不支持随机访问,因此不能使用相同的方法搜索已排序的链表O(log n).