Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры спо 2012.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
267.8 Кб
Скачать

5. Кэш адресация

Согласно данному методу символ преобразуются в индекс элемента в массиве.

Кэширование — выполнение любых логических или арифметических операций над символом.

КЭШ адресация заключается в использовании значения возвращаемого КЭШ-функцией в качестве адреса ячейки из некоторого массива данных.

Размер массива данных должен соответствовать области значения КЭШ-функции.

Достоинства – эффективен, т.к. время поиска и время размещения — определяется только временем, затрачиваемым на вычисление КЭШ-функции.

Недостатки:

1) неэффективное использование объема памяти;

2) необходимость соответствующего разумного выбора КЭШ функции.

Коллизия— это ситуация, когда двум различным идентификаторам соответствует одно и то же значение КЭШ функции.

Способы разрешения коллизии (рекэширование).При возникновении коллизии вычисляется новое значение КЭШ-функции.

Формула рекэширования

hi(A)=(h(A)+pi)modNm,

Nm - максимальное значение из области кэширования,

pi – некоторое вычисл. целое число

А – идентификатор

h(A) – КЭШ-функция

hi(A) – новая КЭШ-функция

Метод простого рекэширования hi(A)=(h(A)+i)modNm (вместо pi берем i)

(+) эффективен при неполном заполнении таблицы

(-) при совпадении КЭШ-адресов элементы в таблице начинают группироваться вокруг них, что

увеличивает число необходимых сравнений при поиске и размещении

Рекэширование с использованием псевдослучайных чисел (вместо pi берем последовательность целых псевдослучайных чисел р1, р23…рn).

Метод цепочек

Здесь к ТИ добавляется дополненная КЭШ-таблица, в которой хранится либо пустое значение, либо значение указателя на некоторую область памяти из основной ТИ.

Достоинства:

1) нет необходимости заполнять пустыми значениями ТИ;

2) каждому идентификатору соответствует строго одна ячейка в ТИ, поскольку в ней нет пустых неиспользуемых ячеек.

В ТИ добавляется поле ссылки, в котором может содержаться указатель на любой элемент ТИ.

используется специальная переменная, которая всегда указывает на первую свободную ячейку основной ТИ.

Комбинированные методы. Используется дополнительное поле ссылки:

если коллизии не возникает, для выборки информации используется КЭШ-функция и поле ссылки остается пустым. если коллизия возникает, то через поле ссылки организуется поиск идентификаторов по одному из рассмотренных выше методов.

(+) Преимущество над цепочками: для хранения идентификаторов с совпадающими значениями КЭШ-функции используется область памяти не пересекающаяся с основной ТИ.

(-) Недостаток: необходимость работы с динамически распределенными областями памяти.

6. Формальные языки и грамматики.

Цепочки символов (строка) и операции над ними.

Цепочки символов — это произвольная последовательность символов, записанных один за другим.

Для ЦС важен состав, количество символов и порядок.

ЦС α и β равны α=β или совпадают, если они имеют один и тот же состав символов, одно и то же их количество, одинаковый порядок следования символов в цепочке.

Количество символов в цепочке называется длиной цепочки.

ЦС обладают следующими свойствами:

1. Конкатенация — объединение или сложение 2-х цепочек αβ

α=“BA”

β=“CL” => αβ=“BACL”

Операция конкатенации не обладает свойством коммут-ти αβ≠βα.

Обладает свойством ассоциативности (αβ)γ=α(βγ)

2. Обращение цепочки — запись символов цепочки в обратном порядке αR, α=“ВАСЯ” => αR=“ЯСАВ”

Для данной операции справедливо (αβ)RRβR

3. Итерация — повторение цепочки n раз

4.Пустая цепочка символов — это цепочка, не содержащая ни одного символа — λ для пустой цепочки справедливо:

1) |λ|=0;

2) для любого α: λα=αλ=α;

3) λR=λ;

4) для любого n≥0:λn=λ;

5) для любого α: α0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]