C++ 中的时间复杂度
Time complexity in C++
在 C++ 中将向量转换为集合的时间复杂度是多少。
能否在O(n)中完成。
如果我像这样将矢量复制到集合中,
设置 s(v.begin(), v.end());
那么它的时间复杂度是多少
是documentation的O(N * log(N))
。如果向量已经排序(也在文档中),则它是线性的。
您可能对 std::unordered_set
感兴趣。它的构造函数采用两个迭代器 O(N)
平均 (see here).
在 C++ 中将向量转换为集合的时间复杂度是多少。 能否在O(n)中完成。
如果我像这样将矢量复制到集合中, 设置 s(v.begin(), v.end()); 那么它的时间复杂度是多少
是documentation的O(N * log(N))
。如果向量已经排序(也在文档中),则它是线性的。
您可能对 std::unordered_set
感兴趣。它的构造函数采用两个迭代器 O(N)
平均 (see here).