Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OРГАНІЗАЦІЯ БАЗ ДАНИХ І ЗНАНЬ-ЛЕКЦІЯ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
815.1 Кб
Скачать

Табл 5.1 - Розрахунок адреси

Ключ

Коди

Адреса

1

MO

12 14

6

2

CM

02 12

4

3

AX

00 23

3

4

BI

01 08

9

5

BJ

01 09

0

6

AN

00 13

3

7

JR

00 13

6

8

BC

01 02

3

Табл 5.2 - Розмiщення даних у пам'ятi

Данi

Адреса

BJ

0

 

1

 

2

AX

3

CM

4

AN

5

MO

6

JR

7

BC

8

BI

9

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

Метод ланцюжків. Метод достатньо простий і полягає в тому, щоб організувати М зв'язаних лінійних списків по одному на кожну можливу хеш-адресу .

Після хешувания ключа, якщо ділянка пам'яті по обчисленій адресі вільна, виконується розміщення запису по цій адресі. Якщо ж ділянка пам'яті по обчисленій адресі зайнята, то реалізується звертання по покажчику до іншої ділянки пам'яті (елементу списку), і так до кінця списку. Після цього запис поміщається на вільну ділянку пам'яті і за допомогою покажчиків приєднується до кінця свого списку. При пошуку записів дії виконуються в тієї ж послідовності. Спочатку перевіряється ділянка пам'яті по обчисленій адресі. Якщо там знаходиться запис з іншим значенням ключа, то по покажчику звертаються до іншого запису, і так доти, поки не буде знайдено необхідний запис або досягнутий кінець списку. Пам'ять, що виділяється для організації списків, називають областю переповнювання, а ділянка пам'яті з хеш-адресами - основною областю.

При організації даних на зовнішніх пристроях із прямим доступом намагаються мінімізувати число звертань до пристрою, тому запису групують у блоки, щоб за один раз зчитувати з зовнішньої пам'яті декілька записів. З цією метою весь адресний простір пам'яті, виділений для збереження файла, розбивається на блоки.

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

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