C++set_intersection的复杂性是什么

What is the complexity of set_intersection in C++?

本文关键字:复杂性 是什么 intersection C++set      更新时间:2023-10-16

以下代码的复杂性是什么?

set<int> S1, S2, ans;
set_intersection(S1.begin(), S1.end(), S2.begin(), S2.end(), inserter(ans, ans.begin()))

其中S1S2是一些non_empty集,ans是空集。

我知道将排序范围插入到集合中是线性的;但是使用插入器插入也是线性的吗?

插入器会记住上次插入每个项目的位置,并尝试在同一位置插入下一个项目。如果它是正确的位置,这是 O(1(。

这意味着将排序范围复制到机械臂总体上是线性的,所以你在这里很好。