Разница между B-деревьями и 2-3-4 деревьями - PullRequest
11 голосов
/ 04 апреля 2010

В чем разница между B-деревьями и 2-3-4 деревьями?

Кроме того, как бы вы нашли максимальную и минимальную высоту каждого?

Ответы [ 2 ]

22 голосов
/ 06 апреля 2010

... ссылка на Википедию и цитата:

"2-3-4 дерева - это B-деревья порядка 4."

A 2-3-4 является B-tree.
Оно называется деревом 2-3-4, потому что число дочерних узлов для некорневого, некорневого узла равно 2,3 или 4.
Если бы это было 6, это можно было бы назвать деревом 3-4-5-6 или кратко 3-6.
Поскольку минимальное количество детей составляет половину от максимального, обычно можно просто пропустить первое и говорить о B-дереве порядка m .
Порядок B-дерева определяется как максимальное количество дочерних элементов, которое может иметь узел.
В дереве 2-3-4, как мы видели, максимум равен 4.

Это наихудший, а высота в лучшем случае задается общей формулой для B-деревьев .

Наилучший случай : журнал m n. (все узлы заполнены)
Худший случай : log m / 2 n. (все узлы полупусты)

где

  • m - это порядок дерева - максимальное число дочерних узлов, которое может иметь узел, в данном случае 4 - и
  • n - количество записей в дереве

«B-дерево может иметь порядок любого числа» - да, но для определенного подкласса B-деревьев вы исправляете это число заранее. Это все равно, что говорить о бабочках вообще против разговора о бабочке-монархе . B-деревья - это класс структур данных, также как бабочки - это класс насекомых. Бабочки-монархи - это подкласс бабочек, точно так же, как 2-3-4 дерева - это подкласс B-деревьев.

0 голосов
/ 10 февраля 2012

Основное различие, по которому возникает b-дерево, заключается в том, что количество разбиений узлов, необходимое во время вставки, составляет менее 2-4 деревьев. В дереве 2-4 мы иногда встречаем термин, называемый каскадным расщеплением, но в b-дереве нет каскадного расщепления.

...