Использование указателей
Если для реализации сетевых структур используются указатели, то они должны представлять все связи, причем какие-то записи должны называться исходными (например, верхние), а какие-то — порожденными (нижние записи).
На практике могут использоваться много различных вариантов конфигураций указателей. На рис. показаны кольцевые структуры, в которых имеются указатели на исходные, порожденные и подобные записи.
Однако, если какая-нибудь связь между записями относится к типу «многие ко многим», то названные три метода физического представления сетевых структур оказываются непригодными. Более того, если в простых сетевых структурах на предыдущих рисунках для хранения указателей на исходные записи требовался один или два указателя в каждой записи, то здесь необходимы списки указателей переменной длины.
Основной проблемой, возникающей при организации встроенных списков указателей переменной длины, является сложность их ведения. При обновлении файла должна существовать возможность сокращения и удлинения списков, что обычно приводит кнеобходимости периодической реорганизации. Реорганизация является
сложной задачей, поскольку при перемещении записей должны быть изменены многие указатели.
Эта проблема частично. решается, если использовать символические указатели, которые не изменяются при перемещении записей. Однако их применение отражается на механизме адресации и при поиске записей в файле: система затрачивает на поиск записей больше времени, чем при использовании прямых указателей.
Дата добавления: 2015-04-15; просмотров: 692;