c++ - set::find 和 <algorithm> find 之间的性能差异

标签 c++ stl time-complexity

关闭。这个问题需要details or clarity .它目前不接受答案。












想改进这个问题?通过 editing this post 添加详细信息并澄清问题.

2年前关闭。




Improve this question




根据cplusplus.com , [set::find][2]时间复杂度是对数大小,[find function in algorithm library][3]大小是线性的。

    set::find(item)
    find(begin(set),end(set),item)

我想知道这两个 find方法在时间复杂度方面表现不同。

最佳答案

std::find只是一个线性搜索,因为它对迭代器没有任何假设。
std::set::find利用 set 的树结构来实现 log-fast 性能。

关于c++ - set::find 和 <algorithm> find 之间的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59212201/

相关文章:

c++ - C++ 构造函数的默认参数

javascript - 需要的想法。 Javascript+XPCOM+C++插件

c++ - 如何在 c++03 中获得模板参数的最精确表示?

c++ - 为什么我不能用 std::unordered_map 替换 std::map

algorithm - 如何在 id 序列中有效地重用已发布的 id

c++ - 保持 vector 中元素的数量不变

c++ - set_intersection 用于两种不同类型的集合

c++ - 为什么STL中的 vector 没有+=运算符

algorithm - 什么是 PageRanks Big-O 复杂度?

cassandra - Cassandra 操作的时间复杂度(Big O)是多少?