Я читаю этот файл (C: \ cygwin \ lib \ gcc \ i686-pc-cygwin \ 3.4.4 \ include \ c ++ \ bitset) на моем компьютере.
Смотрите эти
/// Returns the number of bits which are set.
size_t
count() const { return this->_M_do_count(); }
size_t
_M_do_count() const
{
size_t __result = 0;
for (size_t __i = 0; __i < _Nw; __i++)
__result += __builtin_popcountl(_M_w[__i]);
return __result;
}
Кстати, здесь указано _Nw:
template<size_t _Nw>
struct _Base_bitset
Таким образом, это O (n) в реализации gcc. Мы заключаем, что спецификация не требует этого лучше, чем O (n). И никто в здравом уме не сделает это хуже, чем это. Затем можно смело предположить, что в худшем случае O (n). Возможно, лучше, но вы никогда не можете рассчитывать на это.