Joulence
@Joulence
Раньше изучал веб, теперь python

Как найти определитель матрицы (двумерного массива) на Java?

Во время написания лабораторный работы попал в тупик. Есть двумерный массив, аля матрица и надо найти её определитель. Как находить сам определитель я знаю, но не могу понять как это реализовать. По условию нельзя использовать сторонние библиотеки.

public class ThirdTask {
	public static void main(String[] args) {
		int[][] arrayMatrix = {{1,3,5,17,18,11,15,9,23,22}, {2,48,15,19,11,23,22,7,9,1},
				{1,2,3,10,22,11,33,8,18,13}, {2,48,15,19,11,23,22,7,9,1},
				{1,3,5,17,18,11,15,9,23,22}, {1,2,3,10,22,11,33,8,18,13},
				{2,48,15,19,11,23,22,7,9,1}, {3,1,19,27,5,11,20,17,12,8} };
		printArray(arrayMatrix);
	}
	
	public static void printArray(int[][] arrayMatrix) {
		for(int[] value: arrayMatrix) {
			for (int x = 0; x < value.length; x++) {
				System.out.print(value[x] + "\t");
				if (x == value.length - 1) {
					System.out.println();
				}
			}
			
			
		}
	}
}
  • Вопрос задан
  • 1346 просмотров
Пригласить эксперта
Ответы на вопрос 2
@galaxy
Присоединяюсь к предыдущим ораторам, но хочу предупредить, что рекурсивный алгоритм разложения по минорам имеет сложность O(n!), а 10! = 3628800. В общем, может тормозить, если это важно :)

С точки зрения скорости лучше методом Гаусса привести матрицу к треугольному виду, определитель в этом случае равен произведению диагональных элементов. Сложность - O(n3).
Ответ написан
Комментировать
@AVKor
Формула разложения определителя по строке (столбцу) плюс рекурсия.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы