Программа Php для диагонально доминирующей матрицы

Опубликовано: 20 Сентября, 2022

В математике квадратная матрица называется доминирующей по диагонали, если для каждой строки матрицы величина диагонального элемента в строке больше или равна сумме величин всех других (недиагональных) элементов. в том ряду. Точнее, матрица A является диагонально доминирующей, если

Например, Матрица

диагонально доминирует, потому что
11 | ≥ |а 12 | + |а 13 | так как |+3| ≥ |-2| + |+1|
22 | ≥ |а 21 | + |а 23 | так как |-3| ≥ |+1| + |+2|
33 | ≥ |а 31 | + |а 32 | так как |+4| ≥ |-1| + |+2|
Дана матрица A из n строк и n столбцов. Задача состоит в том, чтобы проверить, является ли матрица A диагонально доминирующей или нет.
Примеры :

Input : A = { { 3, -2, 1 },
              { 1, -3, 2 },
              { -1, 2, 4 } };
Output : YES
Given matrix is diagonally dominant
because absolute value of every diagonal
element is more than sum of absolute values
of corresponding row.

Input : A = { { -2, 2, 1 },
              { 1, 3, 2 },
              { 1, -2, 0 } };
Output : NO

Идея состоит в том, чтобы запустить цикл от i = 0 до n-1 для количества строк и для каждой строки запустить цикл от j = 0 до n-1 найти сумму недиагональных элементов, т.е. i != j. И проверьте, больше ли диагональный элемент или равен сумме. Если для какой-либо строки оно ложно, то верните false или выведите «Нет». В противном случае выведите «YES».

Выход :

YES

Временная сложность: O(N 2 )

Вспомогательное пространство: O(1)

Пожалуйста, обратитесь к полной статье о диагонально доминирующей матрице для получения более подробной информации!