![]() |
![]() ![]() ![]() ![]() |
![]() |
Comparison with Associative ContainersBoost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 41. Boost.Unordered
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Ассоциативные контейнеры |
Неупорядоченные ассоциативные контейнеры |
|---|---|
Параметризованное упорядоченным отношением< |
Parameterized by a function object |
|
Keys can be compared using |
Ключи могут быть хешированы с использованием< |
Конструкторы имеют дополнительные параметры для объекта сравнения. |
Конструкторы имеют дополнительные параметры для начального минимального количества ведер, хеш-функции и объекта равенства. |
|
Keys |
Keys |
|
Member function |
Никакого эквивалента. Если бы они не были упорядочены< |
|
|
< |
|
|
|
|
Iterators, pointers and references to the container's elements are never invalidated. |
Итераторы могут быть признаны недействительными с помощью вызовов для вставки или перетасовки. Указатели и ссылки на элементы контейнера никогда не считаются недействительными. |
|
Iterators iterate through the container in the order defined by the comparison object. |
Iterators iterate through the container in an arbitrary order, that can change as elements are inserted. Although, equivalent elements are always adjacent. |
Нет эквивалента |
Местные итераторы могут использоваться для итерации через отдельные ведра. (Порядок локальных итераторов и итераторов не требует наличия корреспонденции.) |
Можно сравнить с использованием операторов< |
Можно сравнить с использованием операторов< |
|
When inserting with a hint, implementations are permitted to ignore the hint. |
|
|
|
The containers' hash or predicate function can throw exceptions from
|
Table 41.5. Complexity Guarantees
|
Операция |
Ассоциативные контейнеры |
Неупорядоченные ассоциативные контейнеры |
|---|---|---|
Строительство пустого контейнера |
постоянная |
On, гдеn— минимальное количество ведер. |
|
Construction of container from a range of N elements |
ONlogN, ON, если диапазон отсортирован< |
Average case O(N), worst case O(N2) |
Включить один элемент |
logarithmic |
Average case constant, worst case linear |
Вставить один элемент с подсказкой |
Амортизированная константа, если t элементов вставлены сразу после подсказки, логарифмическая иначе |
Средний случай постоянен, наихудший случай линейный (т.е. такой же, как нормальная вставка). |
Включить диапазонNэлементов |
N log( |
Average case O(N), worst case O(N
* |
Стирать ключом< |
O(log(< |
Средний случай: О (91), Худший случай: О (92) |
Стереть один элемент итератором |
Amortized constant |
Average case: O(1), Worst case: O( |
|
Erase a range of N elements |
O(log< |
Средний случай: ON, худший случай: O< |
Очистка контейнера |
О< |
О< |
|
Find |
logarithmic |
Average case: O(1), Worst case: O( |
Граф |
O(log(< |
Average case: O(1), Worst case: O( |
< |
logarithmic |
Средний случай: О (91), Худший случай: О (92) |
< |
logarithmic |
n/a |
Статья Comparison with Associative Containers раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 41. Boost.Unordered может быть полезна для разработчиков на c++ и boost.
:: Главная :: Chapter 41. Boost.Unordered ::
реклама |