Skip to content

samvel63/sparse_matrices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Курсовой проект № 7. Разреженные матрицы.

Понятия:

Разрежённая матрица — это матрица с преимущественно нулевыми элементами. В противном случае, если бо́льшая часть элементов матрицы ненулевые, матрица считается плотной.

Среди специалистов нет единства в определении того, какое именно количество ненулевых элементов делает матрицу разрежённой. Разные авторы предлагают различные варианты. Для матрицы порядка n число ненулевых элементов:

  • есть O(n). Такое определение подходит разве что для теоретического анализа асимптотических свойств матричных алгоритмов.
  • в каждой строке не превышает 10 в типичном случае.
  • ограничено n1 + a, где a < 1.
  • таково, что для данного алгоритма и вычислительной системы имеет смысл извлекать выгоду из наличия в ней нулей.
  • Огромные разрежённые матрицы часто возникают при решении таких задач, как дифференциальное уравнение в частных производных.

    При хранении и преобразовании разрежённых матриц в компьютере бывает полезно, а часто и необходимо, использовать специальные алгоритмы и структуры данных, которые учитывают разрежённую структуру матрицы. Операции и алгоритмы, применяемые для работы с обычными, плотными матрицами, применительно к большим разрежённым матрицам работают относительно медленно и требуют значительных объёмов памяти. Однако разрежённые матрицы могут быть легко сжаты путём записи только своих ненулевых элементов, что снижает требования к компьютерной памяти.


    Постановка задачи:

    Составить программу на Си с процедурами и функциями для обработки прямоугольных разреженных матриц элементами комплексного типа, которая:

    1. Принимает на вход матрицы различного размера, представленные во входном текстовом файле в обычном формате(по строкам), с одновременных размещением ненулевых элементов в разреженной матрице в соответствии с заданной схемой.
    2. Печатает введенную матрицу в обычном виде и во внутреннем представлении согласно заданной схеме размещения.
    3. Выполняет необходимые преобразования разреженных матриц (или вычисления над ними) путем обращения к соответствующим процедурам и функциям.
    4. Печатает результат задания.

    Вариант 7. Задание:

    Найти строку, содержашую наибольшее количество ненулевых элементов, и напечатать ее номер и сумму элементов этой строки. Если таких строк несколько, обработать все.


    О программе:

    Программа принимает на вход прямоугольную матрицу. Затем печатает матрицу в нормальном представлении. После этого во внутреннем представлении программы. А в конце печатает результат задания, очищает память от матрицы и заканчивает свою работу.


    Использование программы:

    Скомпилировать программу можно командой make и запустить командой ./start. Далее необходимо ввести размер матрицы NxM и саму матрицу.

    About

    No description, website, or topics provided.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published