首页 > 解决方案 > find() 函数对集合有效吗?

问题描述

就我而言,二进制搜索代表确定排序数组中是否存在某个元素 x 的最有效方法。因此,我想知道使用 find() 或 count() 函数来执行寻找元素的过程是否是一个好主意,或者使用排序数组而不是集合更合理应用二分查找法。

标签: c++findset

解决方案


是的,它是有效的。

集合包含唯一且已排序的元素。因此 find() 使用二进制搜索并且在一组 N 个元素中具有 O(logN) 复杂度。插入也是对数的,以保持其排序和唯一性。


推荐阅读