АТД Словарь используется для манипулирования набором элементов, встроенных в линейном порядке. Он поддерживает динамическое редактирование элементов (создание, внесение и удаление) и различные формы поиска внутри набора (например, поиск заданного элемента, наименьшего, наибольшего элемента, предшественника или последователя элемента).
Основными характеристиками словаря являются затраты на вставку элемента, удаление и поиск. Однако некоторые реализации словарей позволяют эффективно выполнять другие дополнительные операции, такие как объединение словарей, переход к большему/меньшему соседу и т.п. Оценки времени для таких эффективно выполняемых операций мы также будем также включать в таблицы.
Как правило, для эффективного доступа словари организуются на основе упорядоченных структур данных. Если такого упорядочения нет, то оно вводится. Например: лексикографический порядок для строк, порядок для треугольников значению координаты x самой левой вершины. Зачастую алгоритм, использующий словарь в качестве структуры данных, сам подсказывает необходимый порядок
В этом разделе :
8 Списки Простейший словарь можно реализовать в виде списка элементов в порядке их поступления.
8 Двоичные деревья В ряде приложений, где не требуется быстрый поиск и удаление произвольного элемента, и где ценны дополнительные преимущества, предоставляемые структурой списка, такой выбор представляется оптимальным.
8 Улучшенные двоичные деревья Очевидно, поиск осуществляется тем быстрее, чем ближе к корню расположен искомый элемент. В идеале двоичное дерево поиска сбалансировано, т. е. его форма такова, что каждый элемент располагается сравнительно близко к корню.
8 Другие словари
| |