Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Внешние деревья поиска




 

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

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

Однако для внешних деревьев поиска важна проблема хранения записей в файлах, когда файлы хранятся в виде блоков внешней памяти. Правильным применением идеи разветвленного дерева является представление об узлах как о физических блоках. Внутренний узел содержит указатели на своих m сыновей, а также m -1 ключевых значений, которые разделяют потомков этих сыновей. Листья также являются блоками, а они содержат записи основного файла.

Если использовать дерево двоичного поиска из n узлов для представления файла, хранящегося во внешней памяти, то для поиска записи в таком файле потребуется в среднем обращений к блокам. Если вместо бинарного дерева поиска использовать для представления файла m -арное дерево поиска, то для поиска записи в таком файле потребуется обращений к блокам. В случае n=1000000 дерево бинарного поиска потребовало бы примерно 20 обращения к блокам, тогда как 128-арное дерево поиска потребовало бы лишь 3 обращений к блокам. Однако нельзя сделать m очень большим, поскольку, чем больше m, тем больше должен быть размер блока. Кроме того, считывание и обработка более крупного блока занимают больше времени, поэтому существует оптимальное значение m, которое позволяет минимизировать время, требующееся для просмотра внешнего m -арного дерева поиска.

 

В-деревья

 

В-дерево – это особый вид сбалансированного m -арного дерева, который позволяет выполнять операции поиска, вставки и удаления записей из внешнего файла с гарантированной производительностью для самой неблагоприятной ситуации.

В-дерево порядка m представляет собой m -арное дерево поиска, характеризующееся следующими свойствами.

1. Корень либо является листом, либо имеет хотя бы двух сыновей.

2. Каждый узел, за исключением корня и листьев, имеет от m/2 до m сыновей.

3. Все пути от корня до любого листа имеют одинаковую длину.

На рис. 52 показано В-дерево порядка 5, здесь предполагается, что в блоке листа помещается не более трех записей.

 

Рис. 52 – В-дерево порядка 5

 

В-дерево можно рассматривать как иерархический индекс, каждый узел в котором занимает блок во внешней памяти. Корень В-дерева является индексом первого уровня. Каждый нелистовой узел на В-дереве имеет форму где является указателем на i -ого сына, а – ключ, Ключи в узле упорядочены, поэтому Все ключи в поддереве, на которое указывает , меньше, чем . В случае все ключи в поддереве, на которое указывает , имеют значения, не меньшие, чем , и меньшие, чем Все ключи в поддереве, на которое указывает , имеют значения, не меньшие, чем .

Существует несколько способов организации листьев. В данном случае предполагается, что записи основного файла хранятся только в листьях, и каждый лист занимает один блок.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных