Base/Knowledges/IT/Структуры данных/B-деревья (B-tree).md
2026-02-23 19:52:05 +03:00

3.2 KiB
Raw Blame History

#структураанных

!Pasted image 20250115092017.png

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

В отличие от бинарных деревьев, в B-деревьях узлы могут иметь много дочерних узлов и узлы имеют два ключа.

Для B-деревьев существует оптимизация, интересная тем, что применяется на физическом уровне. При поиске по дереву получение данных требует перемещения механических компонентов оборудования (например, читающей головки на HDD). Время получения данных называется временем поиска. Оно может быть важным фактором, определяющим, насколько быстро или медленно работает алгоритм.

Фундаментальная концепция B-деревьев заключается в том, что после выполнения поиска можно прочитать дополнительные данные в память.

В B-деревьях используются большие узлы; каждый узел может иметь больше ключей и дочерних узлов, чем бинарное дерево. Таким образом, чтение каждого узла занимает больше времени. С другой стороны, поиск ускоряется, потому что за один раз читается больший объем данных. Именно это обстоятельство обеспечивает высокую скорость работы B-деревьев.

Структура B-деревьев популярна в реализациях баз данных.

!Pasted image 20250115092313.png

Действует свойство деревьев BST, когда для каждого ключа значения ключей в левом поддереве меньше, а значения ключей в правом поддереве — больше него. Например, для ключа 3 левое поддерево состоит из ключей 1 и 2, а правое поддерево — из ключей 4 и 5.

Количество дочерних узлов на 1 больше количества ключей. Таким образом, корневой узел имеет один ключ и два дочерних узла. Каждый из дочерних узлов имеет два ключа и три дочерних узла.

Связанные темы:

Источники: