Подводные камни: различия между версиями
Материал из Algocode wiki
Глеб (обсуждение | вклад) (Новая страница: «Особенности <code>multiset</code> и <code>map</code> : удаление элементов, <code>count(x)</code> работает за $log(size) + a...») |
Глеб (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
Особенности <code>multiset</code> и <code>map</code> : удаление элементов, <code>count(x)</code> работает за $log(size) + amount(x)$. | Особенности <code>multiset</code> и <code>map</code> : удаление элементов, <code>count(x)</code> работает за $log(size) + amount(x)$. | ||
− | swap контейнеров за $O(1)$ <code>a.swap(b)</code> | + | <code>swap</code> контейнеров за $O(1)$ <code>a.swap(b)</code> |
+ | |||
+ | <code>list.size()</code> работает за $O(size)$ | ||
+ | |||
+ | Компаратор должен удовлетворять следующим условиям : | ||
+ | |||
+ | 1) Антисимметричность | ||
+ | |||
+ | 2) Транзитивность | ||
+ | |||
+ | 3) Детерминированность | ||
+ | |||
+ | Также отдельно стоит заметить, что у <code>set</code> есть свой собственный бинпоиск - не рекомендуется использовать <code>lower_bound(set.begin(), set.end())<\code>, так как он работает за размер сета |
Версия 14:57, 18 октября 2019
Особенности multiset
и map
: удаление элементов, count(x)
работает за $log(size) + amount(x)$.
swap
контейнеров за $O(1)$ a.swap(b)
list.size()
работает за $O(size)$
Компаратор должен удовлетворять следующим условиям :
1) Антисимметричность
2) Транзитивность
3) Детерминированность
Также отдельно стоит заметить, что у set
есть свой собственный бинпоиск - не рекомендуется использовать lower_bound(set.begin(), set.end())<\code>, так как он работает за размер сета