本文档提供了 Java 算法仓库中实现的矩阵操作的技术文档。矩阵操作包括对数字的二维数组进行转换、计算和算法处理。
在此代码库中,矩阵以 Java 的二维数组形式表示
int[][]double[][]大多数实现都包含输入验证,以检查空矩阵或空矩阵。
来源:src/main/java/com/thealgorithms/matrix/MatrixTranspose.java31-45 src/main/java/com/thealgorithms/matrix/MirrorOfMatrix.java23-35
来源:src/main/java/com/thealgorithms/matrix/MatrixTranspose.java src/main/java/com/thealgorithms/matrix/MirrorOfMatrix.java src/main/java/com/thealgorithms/matrix/RotateMatrixBy90Degrees.java src/main/java/com/thealgorithms/matrix/InverseOfMatrix.java src/main/java/com/thealgorithms/matrix/MedianOfMatrix.java src/main/java/com/thealgorithms/matrix/matrixexponentiation/Fibonacci.java
转置操作将矩阵沿其对角线翻转,交换行与列。
实现细节
MatrixTranspose.transpose(int[][] matrix)transposedMatrix[i][j] = matrix[j][i]来源:src/main/java/com/thealgorithms/matrix/MatrixTranspose.java31-45 src/test/java/com/thealgorithms/matrix/MatrixTransposeTest.java12-33
镜像操作通过反转每一行来创建矩阵的反射。
实现细节
MirrorOfMatrix.mirrorMatrix(double[][] originalMatrix)MatrixUtil.reverseRow() 实用方法反转每一行来源:src/main/java/com/thealgorithms/matrix/MirrorOfMatrix.java23-35 src/test/java/com/thealgorithms/matrix/MirrorOfMatrixTest.java9-52
将方阵顺时针旋转90度。
实现细节
Rotate.rotate(int[][] a)来源:src/main/java/com/thealgorithms/matrix/RotateMatrixBy90Degrees.java49-72
使用高斯消元法计算方阵的逆矩阵。
实现细节
InverseOfMatrix.invert(double[][] a)gaussian() 辅助方法执行高斯消元来源:src/main/java/com/thealgorithms/matrix/InverseOfMatrix.java12-103 src/test/java/com/thealgorithms/matrix/InverseOfMatrixTest.java8-27
计算矩阵中所有元素的中位数。
实现细节
MedianOfMatrix.median(Iterable<List<Integer>> matrix)Collections.sort() 对列表进行排序来源:src/main/java/com/thealgorithms/matrix/MedianOfMatrix.java16-31 src/test/java/com/thealgorithms/matrix/MedianOfMatrixTest.java10-34
使用矩阵幂运算高效计算斐波那契数列。
实现细节
Fibonacci.fib(int n)来源:src/main/java/com/thealgorithms/matrix/matrixexponentiation/Fibonacci.java10-42
代码库中的大多数矩阵操作遵循类似模式
输入验证:
处理方法:
迭代模式:
来源:src/main/java/com/thealgorithms/matrix/MatrixTranspose.java31-34 src/main/java/com/thealgorithms/matrix/MirrorOfMatrix.java23-24 src/main/java/com/thealgorithms/matrix/RotateMatrixBy90Degrees.java49-72 src/main/java/com/thealgorithms/matrix/InverseOfMatrix.java12-47