关于set的lower_bound 和 std的lower_bound
Posted Harris-H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于set的lower_bound 和 std的lower_bound相关的知识,希望对你有一定的参考价值。
关于set的lower_bound 和 std的lower_bound
std:lower_bound
是一种通用的二分搜索算法,适用于大多数STL容器。
set:lower_bound
底层是红黑树实现,不支持随机访问,所以如果使用std的lower_bound 进行二分 时间复杂度就不是
O
(
l
o
g
n
)
O(logn)
O(logn) 了。
因此对于set的 二分查找,直接用set的lower_bound 即可,不然复杂度有可能会降到 O ( n ) O(n) O(n)
以上是关于关于set的lower_bound 和 std的lower_bound的主要内容,如果未能解决你的问题,请参考以下文章
C++ 入门(第 5 版);第 19 章 - 算法:std::lower_bound
std::binary_serach, std::upper_bound以及std::lower_bound
对于 std::tr1::unordered_map,是不是有任何等效的 std::algorithm 类似于 std::map::lower_bound?