Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Нелінійна організація даних

Реферат Нелінійна організація даних





являє собою послідовний масив індексів, в який з основного масиву виноситься інформація про записи, номери яких утворюють арифметичну прогресію з кроком d> 1, причому перший індекс адресує перший запис. Основний масив, доповнений таким індексом, зазвичай називається індексного-послідовним.

Індекси такого типу називаються К - індексами (від слова «ключ»). Крок арифметичної прогресії для К - індексів дорівнює:, де M - кількість елементів у вихідному масиві.

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

Індекси такого типу називаються А - індексами (від слова «адреса»).

Точний опис рандомізованого індексу полягає в наступному. А - індекс з номером i зберігає адресу запису основного масиву, ключ якої дорівнює або безпосередньо більше значення:, де z - константа (крок арифметичної прогресії), р1 - значення ключа першого запису основного масиву.

Точної формули для кроку арифметичної прогресії z для А - індексів не існує, використовують формулу:, де pi - значення ключа i-й записи.

Завдання 6. Побудувати А - і К - індекси. Вставку провести з урахуванням значення 55 і видалення з урахуванням значення 36.

, 52, 33, 66, 29, 36, 34, 41, 38, 37, 23, 34, 29, 33, 24, 57, 35

Впорядкуємо по зростанню вихідний масив. Масив буде мати наступний вигляд (рис. 3.3, а). Для побудови А - і К - індексів обчислимо крок арифметичної прогресії d, z.

Обчислимо крок арифметичної прогресії для К - індексів:

M=17,. Отримуємо К - індекси (рис. 3.3. Б).

Обчислимо крок арифметичної прогресії для А - індексів:

max (52 - 41)=11,.

Визначимо А - індекси, використовуючи формулу, де pi - значення ключа i-й записи, p1 - значення ключа першого запису, z - крок арифметичної прогресії:

z=22;

p1=23, А1=0100;

(т. к. у вихідному масиві такого значення ключа немає, то виберемо наступне більшу, тобто 52), А2=0114. Отримуємо А - індекси (рис. 3.3. в).


Малюнок 3.3 - Основний масив організації даних (а); К - індекси з урахуванням коригування (б); А - індекси з урахуванням коригування (в)


При коригуванні записів індекси також повинні змінюватися: завжди К - індекси і рідше А - індекси. При включенні нового запису з ключем q визначаємо К - індекс, такий, що K i - 1? q < K i, де i - номер К - індексу. Потім усім К - індексах із номером i і більше присвоюємо значення ключів і адрес тих записів, які безпосередньо передують раніше зафіксованих у цих індексах записам основного масиву. Аналогічно при видаленні запису з ключем q всім К - індексах із номером i і більше присвоюємо значення ключів і адрес тих записів, які безпосередньо випливають за раніше зазначеними в цих індексах записами основного масиву. При коригуванні масиву змінюються менше значень А - індексів, ніж К - індексів. Значення К - і А - індексів представлені з урахуванням змін на малюнку 3.3 (б, в).

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



Назад | сторінка 7 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Статистичні Індекси та їх значення в Економічних дослідженнях
  • Реферат на тему: Методика побудова середньозваженим індексів. Взаємозв'язок індексів
  • Реферат на тему: Індекси і організація фондових бірж
  • Реферат на тему: Індекси та їх класифікація
  • Реферат на тему: Біржові індекси