我正在尝试将boost::icl::interval_map
与给定的小boost::icl::interval
相交(我将其称为“选择间隔”)。大多数情况下,交集是空的。但有时它可能包含一个间隔(或多个间隔,很少,因为选择间隔很小)。
我希望此操作的复杂度为O(log(n)+ p),其中n是映射中的间隔数,而p是结果中的间隔数。因为它可能是二进制搜索,然后迭代到不再与选择间隔相交的第一个间隔。
在我的情况下(小的选择间隔),p <2实际上始终是,所以我希望O(log(n))与简单的选择/查找相当。
但是看Boost's documentation,如果我理解正确的话,复杂度似乎是O(n)。我是否正确理解了文档,如果可以,那么为什么有人会这样呢?