презентация PPT вы ссылаетесь довольно проста. Основные идеи заключаются в том, что вы хотите только записать записи массива, которые не равны нулю. Конечно, вы пропускаете пучок из 0 записей, поэтому вам также нужно записывать индексы строк и столбцов вместе с ненулевым значением.
Он представляет несколько способов сделать это. Один из них - это просто длинный список, с элементами, упорядоченными по строке, а затем по столбцу. Затем он смотрит на выполнение нескольких матричных операций.
1) Транспортировка довольно быстро; просто своего рода список по индексам по столбцу, а затем строка в основном. 2) Быстрое добавление двух матриц; вы пересекаете два списка двух матриц вместе, добавляя значения соответствующим образом, вроде слияния двух упорядоченных списков. Обратите внимание, что вы просматриваете только один список.
Эти две операции занимают немного больше времени для опции связанного списка.
Эти операции занимают waaaay дольше при использовании полной матрицы в памяти, поскольку вы в основном выполняете пейджинг и выходите практически непрерывно, что намного медленнее, чем работа в основном в кеш-памяти с более высокой скоростью.
Он не измеряет производительность матричного умножения или вычисления инверсного. Возможно, эти операции обычно не нужны в приложениях, использующих разреженные матрицы. Может быть, вы можете думать о них как о упражнении.