Cтраница 2
Простой последовательный файл представляет собой совокупность элементов матрицы или вектора, записываемых на носитель ( магнитную ленту, на дорожки НМД или в ячейки ОЗУ) последовательно один за другим, в порядке возрастания ( или убывания) значений индексов. В каждой строке элементы матрицы записываются последовательно, в порядке увеличения индексов столбца, на пересечении с которым находится элемент. Обратим внимание на то, что очень часто матрицы или векторы содержат большое число нулевых-элементов, а иногда все элементы имеют либо нулевое, либо единичное или другое постоянное для всех элементов значение. Такие случаи отражены в примерах, рассмотренных в § 2.2. Запись большого числа одинаковых элементов на носитель не экономична. В ряде случаев нулевые элементы можно просто опустить, но для этого необходимо, чтобы расположение их в матрице было регулярным. В этом случае для указания нулевых элементов можно использовать какой-либо регулярный алгоритм выборки, несколько усложняющий процесс, но приводящий к экономии емкости накопителя, и в конечном итоге, к экономии времени обмена между накопителями или накопителем и АЛУ. При нерегулярном расположении ненулевых элементов необходимо их записывать на носитель вместе со значениями их индексов. Особым являете случай, когда все ненулевые элементы имеют постоянное значение. Попытка создания специального алгоритма выборки элементов таких нерегулярных матриц обычно приводит, к неменьшим затратам емкости накопителей. При различных значениях ненулевых элементов выбор типа элемента, для которого нужно записывать индексы, определяется минимальным числом соответствующих элементов. В отдельных случаях запись значений индексов может оказаться нецелесообразной либо из-за частичной регулярности расположения элементов, либо из-за малого их числа. Таким образом, возникает задача выбора способа представления последовательного файла. [16]