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

Лабораторные работы_2 / Спецификации / Лабораторная работа 5

.doc
Скачиваний:
15
Добавлен:
28.06.2014
Размер:
36.35 Кб
Скачать

Лабораторная работа № 5.

«Хэширование»

Захаров Антон

группа А–13–08

  1. Условие задачи.

Задано множество М мощности p, элементами которого являются натуральные числа 0, 1, 2, ..., p-1. Разместить множество М в памяти с адресами V1, V2 ,...,  Vn , (p > n) путем хэширования (рассеивания), помещая каждый элемент m  M (0 < m < p-1) по адресу Vi, который вычисляется с помощью следующей хэш-функции

i = m - (m div n)  n + 1

  1. Входные данные.

Состав: цел P – число элементов в множестве М;

цел N – число ячеек памяти.

Входная форма:

input

Введите длину множества М >> <P>

Введите длину массива V >> <N>


  1. Выходные данные.

Состав: цел – заполненный массив памяти;

вещ MemV – текущий процент заполненной памяти;

цел K – число элементов, размещённых до 1-й, 2-й … коллизии;

цел S – число проб до разрешения 1-й, 2-й … коллизии.

Выходная форма:

output


  1. Метод.

1. Элементы множества генерируются с помощью датчика псевдослучайных чисел.

2. Элементы размещаются, пока память не будет заполнена.

3. Меняя исходные параметры P и N, определить:

- если коллизии не находят разрешения, то

А. Число размещенных элементов до 1-й, 2-й, и т.д. коллизии.

Б. Процент заполнения памяти до 1-й, 2-й, и т.д. коллизии.

В. Число (или процент) возникших коллизий при полном заполнении памяти.

- если коллизии находят разрешение, то А., Б., В.,

Г. Число проб (до первого свободного места) для разрешения 1-й, 2-й, и т.д. коллизии.

  1. Аномалии.

Условие

Реакция

1

0<P<=20

В силу выбранных ограничений, число элементов множества не должно быть отрицательной или превышать 20.

2

0<N<=10

В силу выбранных ограничений, число ячеек памяти не должна быть отрицательной или превышать 10.