Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задачи / Задача 4, вариант 15

.docx
Скачиваний:
1
Добавлен:
10.03.2025
Размер:
16.19 Кб
Скачать

Задача 4

Вариант

A

B

C

D

E

15

1000000

6144

65

8

12



  1. Для начала нам необходимо найти количество пар «ключ-указатель» Так как длина ключевого поля равна 65 байтам, а размер указателя – 8 байтам, с учетом расходов на заголовок блока в 12 байт и размером блока 6144-байтовый заголовок тогда поместить 84 пары «ключ-указатель».

6144 – 12/65 + 8 = 84

  1. Теперь перейдем к количеству блоков, которое понадобится для построения плотного индекса, для этого изначальное количество кортежей необходимо разделить на количество пар «ключ-указатель»:

1000000/84 = 11905

  1. Теперь перейдем к количеству операций, которое понадобится для нахождения ключа. Для построения плотного индекса потребуется 10 000 блоков, или 40 Мбайт. Такой индекс при определенных обстоятельствах вполне может быть загружен в буферы оперативной памяти – все зависит от ее общего объема и размеров области, свободной от других данных.

По алгоритму бинарного поиска

log2(11905) = 13,53

Для отыскания нужного ключа придется выполнить 13 или 14 обращение к блокам индекса. Так как при использовании любого варианта бинарного поиска адресуется только небольшое подмножество всех блоков, например, блок в середине списка, далее блоки на позициях 1/4 и 3/4, затем на позициях 1/8, 3/8, 5/8, 7/8 и т.д.) даже в том случае, если разместить весь индекс в памяти нельзя, загрузить основные блоки все-таки удастся и поэтому для извлечения записи с любым ключом потребуется в худшем случае 14 операция.

Соседние файлы в папке Задачи