C++ 中的时间复杂度

Time complexity in C++

在 C++ 中将向量转换为集合的时间复杂度是多少。 能否在O(n)中完成。

如果我像这样将矢量复制到集合中, 设置 s(v.begin(), v.end()); 那么它的时间复杂度是多少

documentationO(N * log(N))。如果向量已经排序(也在文档中),则它是线性的。

您可能对 std::unordered_set 感兴趣。它的构造函数采用两个迭代器 O(N) 平均 (see here).