
- •4. Просматриваемая динамическая таблица - вектор. Определение, основные операции и особенности их реализации.
- •Способ работы с таблицей
- •Способ доступа к таблице
- •Просматриваемые таблицы
- •Просматриваемая таблица-вектор
- •Статическая просматриваемая таблица-вектор
- •Динамическая просматриваемая таблица-вектор
4. Просматриваемая динамическая таблица - вектор. Определение, основные операции и особенности их реализации.
Критерием для классификации таблиц служат допустимые операции с таблицами и особенности их выполнения. При рассмотрении набора операций не принимается во внимание структура и тип информации, хранящейся в таблице; структуры данных определяют способ доступак информационным элементам, что позволяет получить хранящуюся в структуре информацию, ноне способ обработкиэтой информации (обработка информации определяется прикладной программой). Поэтому, прежде всего, определим, какие операции определены для таблиц как для соответствующей структуры данных.
С таблицами можно выполнять следующие операции:
Включениенового элемента в таблицу.
В случае добавления к таблице записи с заданным ключом аппарат обработки записей таблицы должен возвратить в качестве ответа указатель на то место, куда должна быть помещена информация. Эту операцию можно рассматривать с двух точек зрения:
Если потребовать, чтобы в таблице не было двух или более элементов с одинаковыми значениями ключей, тогда перед включением нового элемента в таблицу следует проверить, нет ли в таблице другого элемента с таким же значением ключа. Новый элемент будет включен в таблицу, только если его ключ уникален.
Если такое требование снять и допустить наличие в таблице нескольких элементов с одинаковым значением ключа, тогда новый элемент добавляется в таблицу, безусловно.
Удалениеэлемента из таблицы.
Эта операция должна выполняться в два этапа: сначала осуществляется поиск в таблице элемента, заданного своим ключом, и в случае успешного поиска найденный элемент удаляется из таблицы.
Поискнекоторого заданного ключом элемента в таблице.
Результатом поиска должна быть связанная с ключом информация. При обращении к таблице задается ключ, а аппарат, обеспечивающий доступ к таблице, выдает в качестве ответа указатель на информацию, связанную с данным элементом. Если эта информация невелика по объему, то в качестве ответа может быть выдана она сама. Если в таблице не допускается наличие двух или более элементов с одинаковыми значениями ключей, результат успешного поиска будет однозначным. Если же в таблице допускается наличие нескольких элементов с одинаковыми значениями ключей, для однозначного поиска элемента нужно указать некоторую дополнительную информацию, (например, версию элемента с данным значением ключа, или первый встреченный элемент с заданным значением ключа – другими словами, используется некоторый составнойключ, однозначно определяющий каждый элемент таблицы). В любом случае можно, за счет использования дополнительной информации, получить уникальное значение ключа. Поэтому в дальнейшем мы будем рассматривать таблицы в предположении, что в таблице нет двух или более элементов с одинаковым значением ключа (каждый элемент таблицы однозначно определяется своим ключом), причем структура поля ключа нас интересовать не будет.
Таким образом, из анализа приведенных выше операций следует, что с таблицами обязательно (за исключением второго способа включения элемента в таблицу) связана операция поиска элемента по ключу. В зависимости от результата операции поиска (успешный или нет) будет или не будет выполнена та или иная дополнительная операция. Ключ может быть достаточно сложным, состоять из одного или нескольких полей, но его всегда можно преобразовать к некоторому числовому значению (например, просто сложив двоичные коды всех байтов, определяющих ключ). Поэтому в дальнейшем в качестве ключа мы будем использовать целое значение (типаint).
Для классификации таблиц обычно используют два критерия:
Изменяется или нет состояние таблицы в процессе работы с ней (допустимы или нет для таблицы операции включения/удаления элементов); этот критерий определяет способ работы с таблицей.
Как выполняется основная операция с таблицей – операция поиска; этот критерий определяет способ доступа к таблице.