Б-дерево как структура данных


Базовым элементом Б-дерева является страница, поскольку именно она содержит всю основную информацию. Поэтому, прежде всего, необходимо описать структуру страницы Б-дерева.

Каждая страница должна содержать следующие данные:

· текущее количество элементов на странице (оно изменяется от m до 2m)

· указатель на страницу, являющуюся самым левым потомком данной страницы

· основной массив элементов страницы, размерность массива 2m, каждый элемент – это запись со следующими полями:

o ключ некоторого типа

o указатель на страницу, являющуюся потомком текущей страницы и содержащую ключи, большие ключа данного элемента

o информационная часть (как некоторая структура или указатель на область памяти)

Соответствующие описания типов можно сделать следующим образом:

type pPage = ^Page; {ссылочный тип для адресации страниц}

TItem = record{описание структуры элемента массива}

key : integer; {ключ вершины дерева}

cPage : pPage; {указатель на страницу-потомка}

inf : <описание информационной части>;

end;

Page = record{описание структуры страницы}

nPage : word; {число вершин на странице}

leftPage : pPage; {указатель на самого левого потомка}

mas : array[1 . . 2m] of TItem; {основной массив}

end;

Из переменных достаточно ввести два указателя: на корневую страницу (pRoot) и текущую обрабатываемую в данный момент страницу (pCurrent).

Схематично структуру страницы можно представить следующим образом (для краткости указатель pCurrent заменен идентификатором pC):

 

 


pC^.nPage pC^.leftPage pC^.mas[1] pC^.mas[2] . . . . . pC^.mas[2m]
.key .cPage .inf .key .cPage .inf       .key .cPage .inf
                           

Видно, что Б-дерево является достаточно сложной комбинированной структурой, представляя собой набор связанных указателями записей. Для использования Б-дерева необходим стандартный набор операций: поиск заданного элемента, добавление вершины, удаление вершины.

 



Дата добавления: 2020-07-18; просмотров: 364;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.