Структуры и алгоритмы обработки данных. Ключарев А.А - 37 стр.

UptoLike

37
dispose(ptrCurrent);
ptrCurrent:=nil;
end;
end;
end;
Использование двух указателей в циклическом двунаправленном
списке позволяет ускорить операции, связанные с передвижением по
списку за счет двунаправленности этого движения. Однако элементы
списка за счет дополнительного поля занимают больший объем памяти.
Операции вставки и удаления элементов здесь осуществляются проще,
чем в линейном двунаправленном списке, но сложнее, чем в цикличес-
ком однонаправленном списке (за счет необходимости манипулирова-
ния большим числом указателей).
1.2.8. Разреженные матрицы
Разреженная матрица – двухмерный массив, большинство элемен-
тов которого равны между собой, так что хранить в памяти достаточно
лишь небольшое число значений, отличных от основного (фонового)
значения остальных элементов.
Различают два типа разреженных матриц:
1) матрицы, в которых местоположения элементов со значениями,
отличными от фонового, могут быть математически описаны;
2) матрицы со случайным расположением элементов.
В случае работы с разреженными матрицами вопросы размещения
их в памяти реализуются с учетом их типа.
1.2.8.1. Матрицы с математическим описанием
местоположения элементов
К данному типу матриц относятся матрицы, у которых местоположе-
ние элементов со значениями, отличными от фонового, может быть ма-
тематически описано, т. е. в их расположении есть какая-либо законо-
мерность.
Элементы, значения которых являются фоновыми, называют нуле-
выми, а элементы, значения которых отличны от фонового, называют
ненулевыми. Но необходимо помнить, что фоновое значение не всегда
равно нулю.
Ненулевые значения хранятся, как правило, в одномерном массиве
(векторе), а связь между местоположением в разреженной матрице и в