Изменения

Перейти к: навигация, поиск

Бор

27 байт добавлено, 19:40, 13 апреля 2016
Использование
*<tex>m</tex> {{---}} число ключей
====ИспользованиеИдея====Благодаря тому, что бор позволяет решать задачу, описанную выше, он может выступать в качестве ассоциативного массива. Обычно, когда требуется такая структура, то используют [[Дерево поиска, наивная реализация | двоичное дерево поиска]] или [[Хеш-таблица | хеш-таблицу]]. =====Плюсы=====Бор объединяет некоторые преимущества этих структур данных и позволяет одновременно делать следующие операции, которые каждая из структур не может делать по отдельности.
#Добавление элемента в ассоциативный массив за <tex>O(k)</tex> (а дерево может за <tex>O(k\log m)</tex>).
#Получение всех ключей в отсортированном порядке за <tex>O(m)</tex> (а хеш-таблица может только за <tex>O(m\log m)</tex>).
=====Минусы=====
Несмотря на данные достоинства у реализации ассоциативного массива в виде бора есть следующий недостаток:
# Бор хранит строки или символы, а это значит, что у значения ключа будет ограничение на тип (строки, символы, либо числа, представленные как строки). Чтобы это исправить, будем использовать любой тип данных, у которого прописаны операторы сравнения.
Анонимный участник

Навигация