c++ - find() 函数对集合有效吗?
问题描述
就我而言,二进制搜索代表确定排序数组中是否存在某个元素 x 的最有效方法。因此,我想知道使用 find() 或 count() 函数来执行寻找元素的过程是否是一个好主意,或者使用排序数组而不是集合更合理应用二分查找法。
解决方案
是的,它是有效的。
集合包含唯一且已排序的元素。因此 find() 使用二进制搜索并且在一组 N 个元素中具有 O(logN) 复杂度。插入也是对数的,以保持其排序和唯一性。
就我而言,二进制搜索代表确定排序数组中是否存在某个元素 x 的最有效方法。因此,我想知道使用 find() 或 count() 函数来执行寻找元素的过程是否是一个好主意,或者使用排序数组而不是集合更合理应用二分查找法。
标签: c++findset
是的,它是有效的。
集合包含唯一且已排序的元素。因此 find() 使用二进制搜索并且在一组 N 个元素中具有 O(logN) 复杂度。插入也是对数的,以保持其排序和唯一性。