Дерево Splay з непарною кількістю обертів


9

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

Наприклад, у додане зображення я вставляю 4 у BST і "приплющую" його до кореня. У верхній частині фігури я спочатку розміщую пару зіг-зиг у вузлі аркуша і виконую зігзаг зі знизу, залишаючи остаточне право обертання у корені. У нижній частині фігури я спочатку роблю непарне обертання, починаючи з листа, а потім виконую зиг-зиг до коріння.

Що правильно? Або обидва призведуть до звичайної вистави на грі?

два способи гри на непарну кількість обертів

Відповіді:


4

Це дійсно не має значення для аналізу. Ключовою лемою для аналізу продуктивності дерева splay є лема доступу . У ньому зазначається, що амортизовані витрати операції splay (x) менші ніж1+3(r(т)-r(х)), де т - корінь дерева і r(у): =журнал(вага упіддерево). Вага піддерева - це сума ваг його вузлів. (Ваги (позитивні) підбиратимуться залежно від застосування леми.) Використовувана потенційна функція єΦ(Т)=х вузол Тr(т).

Доказ лемми доступу розглядає витрати на одну операцію zig / zig-zig / zig-zig тощо. Ви отримуєте

  1. Витрати на зиг або заг операції є 1+3(r+(у)-r(у)), де r+ подзвонив після операції і у - вузол, повернутий вгору.

  2. Витрати на зиг-зиг / зигзаг та симетричні операції є 3(r+(у)-r(у)).

Якщо ви додаєте ці відмінності до операцій, що виконуються за один проміжок (x) , ви отримаєте суму телескопа, і що залишилося1+3(r(т)-r(х)).

Якщо змінити порядок обертів, ви отримаєте ту саму суму. Єдина відмінність полягає в тому, що тепер "+1" походить від першого обертання, а не від останнього обертання. Ви могли навіть зробити обертання зиг в середині. Весь подальший (класичний) аналіз спирається на лемму доступу.

Однак причиною того, що ви виконуєте одиночне обертання останньою, є те, що ви не знаєте, чи глибина вузла заздалегідь парна чи непарна.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.