递归行列式

时间:2014-06-07 00:05:42

标签: java recursion

我必须做一个递归函数来计算矩阵的行列式3x3 heres是我的代码

public int determinant(int matrix[][]) {
    if (matrix.length == 2) {
        return (matrix[0][0] * matrix[1][1]) - (matrix[0][1] * matrix[1][0]);
    }
    double sum = 0.0;
    for (int i = 0; i < matrix.getNcols(); i++) {
        sum += changeSign(i) * matrix.getValueAt(0, i) * determinant(createSubMatrix(matrix, 0, i));
    }
    return sum;
}

我需要更改最后一个返回以进行递归,但我实际上并不知道。

1 个答案:

答案 0 :(得分:1)

这是递归的,因为这一行:

sum += changeSign(i) * matrix.getValueAt(0, i) * determinant(createSubMatrix(matrix, 0, i));

由于您在自己内部调用该方法,因此它是递归的。这似乎也很好。