верхняя граница времени выполнения для b-дерева - PullRequest
0 голосов
/ 28 октября 2011

В Искусство компьютерного программирования , внизу страницы 485

Предположим, есть B-дерево порядка m и N ключей, поэтому на уровне l появляются листья N + 1.

Количество узлов на уровнях 1,2,3 ... не менее 2,2 [м / 2], 2 [м / 2] ^ 2 ...

(Здесь [] обозначает верхнюю границу)

А Кнут дает

N + 1> = 2 [м / 2] ^ (l-1)


Мой вопрос:

Разве это не должно быть N + 1> = 2 + 2 [м / 2] +2 [м / 2] ^ 2 + ... + 2 [м / 2] ^ (l-1)?

Какой смысл принимать во внимание только узлы (l-1) -го уровня?

1 Ответ

0 голосов
/ 28 октября 2011

Узел ветвления с k ключами имеет k + 1 дочерний элемент. Таким образом, как бы много узлов не было на уровне l - 1, на уровне l .

должно быть больше узлов.

То есть N + 1 (количество узлов на уровне l ) больше, чем количество узлов на уровне l - 1. Очевидно, фактическое количество узлов на уровне l - 1 больше или равно минимум количество узлов на уровне l - 1. Итак N + 1 & ge; 2⌈ м / 2⌉ л - 1 .

...