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

Реферат Структура B + -дерева






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

Бінарний пошук ключа в поточному вузлі - варто пам'ятати, що пошукові значення сортуються. Шукаємо ключ Кi такий, що Кi? K < Ki1.

Якщо поточний вузол є внутрішнім, відбувається перехід на належну гілку, пов'язану з ключем Кi і повторюється пункт 1.

Якщо поточний вузол є листом, то:

Якщо K=Ki, то запис існує в таблиці, і ми можемо повернути запис, пов'язану з Ki

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

Обчислювальна складність даної операції в гіршому випадку TFind=O (logb/2n), де b-порядок дерева або коефіцієнт розгалуження; n - кількість елементів у дереві.

Доказ. Пошук елемента в бінарному збалансованому дереві має трудомісткість рівну O (log2n), основна відмінність процесу пошуку в B + дереві в тому, що внутрішній вузол може мати від b / 2 до b дочірніх вузлів (а не обмежується двома). Звідси випливає, що в гіршому випадку обчислювальна складність пошуку в B + дереві буде дорівнювати TFind=O (logb/2n).

Приклад пошуку елемента з ключем рівним 3 (Рис.2):



.2 Вставка записи


Процес додавання запису в B +-дерево аналогічний, як і в інших пошукових деревах: нова запис завжди вставляється в один з кінцевих вузлів. Складність додає те, що вставка може переповнити листової вузол. Коли такі ситуації трапляються, в B +-дерево на тому ж рівні, що й інші кінцеві вузли, додається новий листовий вузол. Кроки для вставки в B +-дерева:

Пошук позиції для додавання нового елемента.

Вставка в знайдений лист L:

Якщо L не повний, то запис просто створюється.

Якщо L повний, то в B +-дерево вводиться новий листовий вузол Lnew, як правий брат L. Ключі в L, разом з новим елементом, розподіляються рівномірно серед L і Lnew. Lnew вставляється в зв'язаний список кінцевих вузлів праворуч від L. Тепер ми повинні пов'язати Lnew c деревом при цьому Lnew повинен бути рідним братом для L. Найменший ключ з Lnew буде скопійований і вставлений в батько L - який також буде батьком Lnew. Весь цей крок відомий як поділ листового вузла.

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

Коли ключ додається в повний корінь, то корінь розщеплюється на два, а середній ключ стає новим коренем. Це єдиний спосіб для B +-дерева рости в висоту.

Обчислювальна складність даної операції в гіршому випадку TInsert=O (logb/2n), де b - порядок дерева або коефіцієнт розгалуження; n - кількість елементів у дереві.

Доказ. Пошук місця для вставки має таку ж обчислювальну складність ...


Назад | сторінка 3 з 5 | Наступна сторінка





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

  • Реферат на тему: Як бути, якщо контрагент за договором - нерезидент?
  • Реферат на тему: Балканський вузол
  • Реферат на тему: Телекомукаційній вузол
  • Реферат на тему: Вузол підготовкі сировина
  • Реферат на тему: Вузол редуктора електромеханічного приводу