ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Индексированные файлыЕще одним распространенным способом организации файла записей является поддержание файла в отсортированном по значениям ключей порядке. В этом случае файл можно просматривать как словарь или телефонный справочник, когда просматриваются лишь заглавные слова или фамилии на каждой странице. Чтобы облегчить процедуру поиска, можно создать второй файл, называемый разреженным индексом, который состоит из пар (x, b), где x – значение ключа, а b – физический адрес блока, в котором значение ключа первой записи равняется х. Разреженный индекс отсортирован по значениям ключей. На рис. 51 показан файл с информацией и соответствующий ему файл разреженного индекса.
Рис. 51 – Файл и его разреженный индекс
Предполагается, что три записи основного файла или три пары индексного файла помещаются в один блок. Записи основного файла представлены только значениями ключей, которые в данном случае являются целочисленными величинами. Чтобы найти запись с заданным ключом х, нужно сначала просмотреть индексный файл, отыскивая в нем пару (x, b). В действительности ищется наибольшее z, такое, что Чтобы создать индексированный файл, записи сортируются по значениям их ключей, а затем распределяются по блокам в возрастающем порядке ключей. В каждый блок можно поместить или столько записей, сколько туда помещается, или оставить в нем вакантные места с возможностью добавления записей впоследствии. Преимущества такого подхода заключаются в том, что вероятность переполнения блока, куда вставляются новые записи, в этом случае оказывается ниже, иначе нужно будет обращаться к смежным блокам. После распределения записей по блокам создается индексный файл: просматривается по очереди каждый блок и находится первый ключ в каждом блоке. Подобно тому, как это сделано в основном файле, в блоках, содержащих индексный файл, можно оставить какое-то место для последующего роста. Допустим есть отсортированный файл записей, хранящихся в блоках Если новая запись не помещается в блок Если блок
Не нашли, что искали? Воспользуйтесь поиском:
|