![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
InsertionBoost , Chapter 1. Boost.Icl , Function Reference
|
Insertion |
интервал |
интервал |
элемента |
элемент |
---|---|---|---|---|
| ei | |||
| ei | |||
| ||||
| ||||
| ||||
| 1 | |||
| 1 |
Эффекты изобретение реализовано insert
и >добрение реализовано add
и оператор +=
идентичны для всех набор-типов <>icl.
Для Map-types, insert
предоставляет stl семантику вставки в отличие от add
и operator +=
, который реализует обобщенное дополнение, которое выполняет агрегации, если ключевые значения сталкиваются или ключевые интервалы. insert
на Картах не изменяет содержимое карт в точках, где ключи объекта для вставки перекрываются или сталкиваются с ключами, которые уже находятся на карте.
Переписные значения с использованием оператор[]
, как в
my_map[key] = new_value;
не предоставляется для interval_maps
, потому что оператор[]
не реализован для них. В качестве замены функции T& T::set(const P&)
могут быть использованы для достижения того же эффекта:
my_map.set(make_pair(overwrite_this, new_value));
// overload table for functions T\P| e i b p V T::insert(const P&) ---+-------- V insert(T&, const P&) s | s m | m S | S M | M
Table 1.27. Time Complexity for member function insert on icl containers
|
домен |
интервал |
домен |
интервал |
---|---|---|---|---|
O(log n) | ||||
O(log n) | ||||
O(log n) |
amortized | |||
O(log n) |
O(n) | |||
O(log n) |
O(n) |
// overload tables for function element containers: interval containers: T& insert(T&, const P&) T\P| e b s m T\P| e i b p S M ---+-------- ---+------------ s | s s S | S S S m | m m M | M M M
В таблице приведены характеристики сложности времени вставки для интервальных контейнеров.
Table 1.29. Time Complexity for inplace insertion on interval containers
|
домен |
интервал |
домен |
интервал |
интервал |
интервал | |
---|---|---|---|---|---|---|---|
interval_sets |
O(log n) |
amortized | O(m log(n+m)) | ||||
O(log n) |
O(n) | O(m log(n+m)) | |||||
интервал_карты |
O(log n) |
O(n) | O(m log(n+m)) |
Функция J T::insert(J prior, const P& addend)
позволяет вставить в 30> константное время342>> Если это невозможно, то характеристики сложности, как указано для неподсказки выше. Для этих комбинаций типов доступна вставка с краном:
// overload table for insertion with hint T\P| e i b p J T::insert(J pos, const P&) ---+-------- J insert(T&, J pos, const P&) s | s m | m S | S M | M
// overload table for member function T\P| b p T& T::set(const P&) ---+---- T& set_at(T&, const P&) m | m M | M
Table 1.30. Time Complexity for member function `set`
|
domain_mapping_type |
интервал_картирование_тип |
---|---|---|
icl::map |
O(log n) | |
интервал_карты |
amortized |
См. также . .
[ORIG_BEGIN] [ORIG_END] --> |
Back to section . . .
[ORIG_BEGIN] [ORIG_END] --> |
Статья Insertion раздела Chapter 1. Boost.Icl Function Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Function Reference ::
реклама |