Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

10.4. (2,4) Деревья 465

Определение (2, 4) дерево

Многоканальное дерево поиска, которое сохраняет вторичные структуры данных сохраненными в каждом узле маленький и также сохраняет основное многоканальное дерево уравновешенным, (2, 4) дерево, которое иногда называют деревом 2-4 или 2-3-4 деревьями. Эта структура данных достигает этих целей, поддерживая два простых свойства (см. рисунок 10.21):

Собственность размера: у Каждого внутреннего узла есть самое большее четыре ребенка

Собственность глубины: у Всех внешних узлов есть та же самая глубина

Рисунок 10.21: (2, 4) дерево.

Снова, мы предполагаем, что внешние узлы пусты и ради простоты, мы описываем наш поиск и обновляем методы, предполагающие, что внешние узлы - реальные узлы, хотя это последнее требование не строго необходимо.

Предписание собственности размера для (2, 4) деревья сохраняет узлы в многоканальном дереве поиска простыми. Это также дает начало альтернативному имени «2-3-4 дерева», так как это подразумевает, что каждый внутренний узел в дереве имеет 2, 3, или 4 ребенка. Другой implica-tion этого правила - то, что мы можем представлять карту M (v), сохраненную в каждом внутреннем узле v использование незаказанного списка или заказанного множества, и все еще достигнуть O (1) разовый perfor-mance для всех операций (начиная с dmax = 4). Собственность глубины, с другой стороны, проводит в жизнь важное, привязал высоту (2, 4) дерево.

466 Глава 10. Деревья поиска

Суждение 10.8: высота (2, 4) дерево, хранящее n записи, является O (зарегистрируйте n).

Оправдание: Позвольте h быть высотой (2, 4) дерево T хранящий n записи. Мы оправдываем суждение, показывая что требования

и

верны.

21 регистрация (n + 1)£ h

hрегистрация £ (n + 1)

(10.9)

(10.10)

Оправдать эти требования примечание сначала, что собственностью размера у нас может быть самое большее 4 узла на глубине 1, самое большее 42 узла на глубине 2, и так далее. Таким образом число внешних узлов в T самое большее 4-е. Аналогично, собственностью глубины и определением (2, 4) дерево, у нас должно быть по крайней мере 2 узла на глубине 1, по крайней мере 22 узла на глубине 2, и так далее. Таким образом число внешних узлов в T составляет по крайней мере 2 ч. Кроме того, Суждением 10.7, число внешних узлов в T - n + 1. Поэтому, мы получаем

÷n + 1

и

n +1£ 4 h.

Беря логарифм в основе 2 из каждого из вышеупомянутых условий, мы получаем это

hрегистрация £ (n + 1) и

регистрация (n + 1)2£ h, который оправдывает наши требования (10.9 и 10.10).

Суждение 10,8 государств, что размер и свойства глубины достаточны для сторожевой башни -

луг многоканальное дерево балансировал (Раздел 10.4.1). Кроме того, это суждение подразумевает, что, выполняя поиск в (2, 4) дерево берет O (зарегистрируйте n), время и что определенная реализация вторичных структур в узлах не решающий выбор дизайна, так как максимальное количество детей dmax является константой (4). Мы, для экзамена - ple, можем использовать простое заказанное внедрение карты, такое как стол поиска списка множества, для каждой вторичной структуры.