Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методы разрешения коллизий




Коллизии.

Назначение и принципы организации таблиц идентификаторов

III. Структуры, организация, хранение и поиск данных

Інтеграл з перемінною верхньою межею

Визначення 3. Нехай функція інтегрована за Риманом на сегменті. Інтегралом з перемінною верхньою границею від функції називається функція

 

.

 

Приклад. Нехай на сегменті розглядається функція. Оскільки неперервна на сегменті, вона інтегрована за Риманом на цьому сегменті, а також на будь-якому сегменті. Тоді за попереднім визначенням для функції можна визначити інтеграл з перемінною верхньою границею:

 

.

 

Визначений інтеграл з перемінною верхньою границею є функцією, його значення можна обчислити в будь-якій точці сегменту. Для того, щоб обчислити треба в інтеграл замість верхньої змінної границі поставити конкретне значення і обчислити звичайний інтеграл Римана. Наприклад:

 

 

Теорема. Нехай функція інтегрована за Риманом на сегменті, тоді функція неперервна в кожній точці.

Доказ. Візьмемо будь які аргументи і розглянемо.

Нехай спочатку:

 

 

 

Оскільки інтегрована за Риманом на сегменті, то вона обмежена на цьому сегменті, тобто

, що для,

 

тоді

. (21)

 

Розглянемо тепер випадок, коли. Аналогічно отримаємо, що тут має місце нерівність

 

. (22)

 

Об’єднуючи (21) і (22), отримаємо, що для

 

. (23)

 

Враховуючи (23), маємо:

 

, що таких, що виконується:

 

 

що означає рівномірну неперервність (за визначенням рівномірної неперервності), а тому і просто неперервність в кожній точці.

Теорема. Нехай функція інтегрована за Риманом на сегменті і неперервна в точці, тоді диференційована в точці і

.

 

Зауваження. Умова неперервності функції в точці не є необхідною для диференційованості функції в точці.

Приклад. Нехай на за виключенням скінченної кількості точок, де. Тоді

для,

 

тому диференційована в кожній точці, хоча має усувні розриви в скінченній кількості точок.

Зауваження. Якщо має в точці розрив І-го роду, то недиференційована в точці (теорема Дарбу).

 

4. Рехеширование (продолжение).

Алгоритм поиска элемента в таблице идентификаторов

· Вычислить значение хеш-функции n = h(A) для искомого элемента A.

· Если ячейка по адресу n пустая, то элемент не найден, алгоритм завершен, иначе – сравнить имя элемента в ячейке n с именем искомого элемента A: если они совпадают, то элемент найден и алгоритм завершен, иначе – i:=1 и перейти к шагу 3.

· Вычислить ni = hi(A). Если ячейка по адресу ni пустая или n = ni, то элемент не найден, и алгоритм завершен, иначе – сравнить имя элемента в ячейке ni с именем искомого элемента A: если они совпадают, то элемент найден и алгоритм завершен, иначе – i:=i+1 и повторить шаг 3.

Алгоритмы размещения и поиска элемента схожи по выполняемым операциям, поэтому они имеют одинаковые оценки времени, необходимого для их выполнения.

При такой организации таблиц идентификаторов в случае возникновения коллизии алгоритм размещает элементы в пустых ячейках таблицы, выбирая их определенным образом: элементы могут попадать в ячейки с адресами, которые потом будут совпадать со значениями хеш-функции, что приведет к возникновению новых, дополнительных коллизий. Таким образом, количество операций, необходимых для поиска или размещения в таблице элемента, зависит от заполненности таблицы.

Для организации таблицы идентификаторов по методу рехеширования необходимо определить все хеш-функции hi для всех i; функции hi определяют как некоторые модификации хеш-функции h. Простым методом вычисления функции hi(A) является ее организация в виде

hi(A) = (h(A) + pi) mod Nm

где pi – некоторое вычисляемое целое число, Nm – максимальное значение из области значений хеш-функции h. При pi = i hi(A) = (h(A)+i) mod Nm

При совпадении значений хеш-функции для каких-либо элементов поиск свободной ячейки в таблице начинается последовательно от текущей позиции, заданной хеш-функцией h(A). Этот способ является не самым удачным (при совпадении хеш-адресов элементы в таблице начинают группироваться вокруг них, что увеличивает число необходимых сравнений при поиске и размещении), но достаточно эффективным при организации таблиц идентификаторов при неполном заполнении таблицы.

Среднее время на помещение одного элемента в таблицу и на поиск элемента в таблице можно снизить, если применить более совершенный метод рехеширования, например, использовать в качестве pi для функции hi(A)=(h(A)+pi) mod Nm последовательности псевдослучайных целых чисел p1, p2, …, pk. При хорошем выборе генератора псевдослучайных чисел длина последовательности k будет k=Nm.

Существуют также другие методы организации функций рехеширования hi(A), основанные на квадратичных вычислениях или, например, на вычислении по формуле:

hi(A) = (h(A)*i) mod Nm

если Nm – простое число.

Рехеширование позволяет добиться лучших результатов для эффективного поиска элемента в таблице, чем бинарный поиск и бинарное дерево, но эффективность метода очень зависит от заполненности таблицы идентификаторов и качества используемой хеш-функции – чем реже возникают коллизии, тем выше эффективность метода. Требование неполного заполнения таблицы ведет к неэффективному использованию объема доступной памяти.




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 556; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.