Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TA_last_u3.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.69 Mб
Скачать

Червоно- чорні дерева

  1. Намалюйте повне двійкове дерево пошуку висоти 3 із ключами {1, 2,...,15}. Додайте NIL-листи й пофарбуйте вершини трьома способами так, щоб червоно-чорні дерева, що вийшли, малі чорну висоту 2, 3 й 4.

  2. Припустимо, що корінь червоно-чорного дерева червоний. Якщо мі пофарбуємо його в чорний колір, чи зостанеться дерево червоно-чорним?

  3. Покажіть, що самий довгий шлях униз від вершини х до аркуша не більш ніж удвічі довше самого короткого такого шляху.

  4. Яка найбільша й найменша кількість внутрішніх вершин може бути в червоно-чорному дереві чорної висоти k?

  5. Намалюйте червоно-чорні дерева, які виходять при послідовному додаванні до порожнього дерева ключів 41,38,31,12,19,8.

  6.  = V/D2 = V/(L^)2

Вид дерева

Спосіб реалізації

Досліджувана підзадача

Параметри аналізу

Критерій зміни параметра

2-3 дерево

«Масив курсорів на батька»

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

Наблизити L до 1

2-3 дерево

Список синів,

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

L^ збільшити не менш чим на 20%

2-3 дерево

Лівий син, правий брат

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

E збільшити не менш чим на 25%

2-3 дерево

Покажчики на сини

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

E’ зменшити не менш чим на 20%

3-5 дерево

«Масив курсорів на батька»

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

 збільшити не менш чим на 35%

3-5 дерево

Список синів,

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

I зменшити не менш чим на 35%

3-5 дерево

Лівий син, правий брат

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

Забезпечити відхилення N^ від N не більше 10% (20%)

3-5 дерево

Покажчики на сини

Додавання нового вузла (значення в дерево), якщо такого не втримується

N, V, V*, N^, L, L^, E, E’, , I

Наблизити L до 1 на 10%

2-3 дерево

«Масив курсорів на батька»

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

E збільшити у два рази (10%)

2-3 дерево

Список синів,

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

E’ зменшити у два рази (10%)

2-3 дерево

Лівий син, правий брат

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

 зменшити у два рази (10%)

2-3 дерево

Покажчики на сини

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

I збільшити у два рази (10%)

3-5 дерево

«Масив курсорів на батька»

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

Забезпечити відхилення N^ від N не більше 10% (20%)

3-5 дерево

Список синів,

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

Забезпечити відхилення N^ від N не більше 10% (20%)

3-5 дерево

Лівий син, правий брат

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

Забезпечити відхилення N^ від N не більше 10% (20%)

3-5 дерево

Покажчики на сини

Видалення вузла, що містить уведене значення (якщо воно є у вузлі дерева)

N, V, V*, N^, L, L^, E, E’, , I

Забезпечити відхилення N^ від N не більше 10% (20%)

  1. * Розглянемо червоно-чорне дерево, отримане додаванням п вершин до порожнього дерева. Переконайтесь, що при n > 1 у дереві є хоча б одна червона вершина.

  2. * Припустимо, що вершина вставлена в червоно-чорне дерево, а потім відразу ж вилучена. Чи буде дерево, що вийшло, збігатися з вихідним? Чому?

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

  4. п Напишіть процедуру Right-Rotate

  5. п Як ефективно реалізувати процедуру RB-Insert, якщо у вершинах не зберігаються вказівники на батьків?

  6. п Переконайтесь, що після виконання процедури RB-Delete корінь дерева залишається чорним, якщо він таким був

  7. п У яких рядках процедури RB-Delete-Fixup мі можемо читати або змінювати фіктивний елемент nil[T]?

  8. . п Спростіть процедуру Left-Rotate, використовуючи фіктивний елемент для подання nil та ще один фіктивний елемент, що містить вказівник на корінь дерева.

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