Подводные камни: различия между версиями

Материал из 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>, так как он работает за размер сета