3阶以上行列式求值有非递归的算法吗?
如题.递归的话效率太低了.
[解决办法]
消元法。
行列式某一行 × 某个数 加到另外一行, 行列式的值不变。
利用这个把行列式变成
a11 0 0 0 …… 0
a21 a22 0 0 …… 0
a31 a32 a33 0 …… 0
a41 a42 a43 a44 …… 0
…… …… …… …… ……
an1 an2 an3 an4 …… ann
的形式
则行列式的值等于 a11*a22*a33*a44*……*ann
[解决办法]
说递归的效率低不对,我觉得总有人把不用递归归罪于其效率低,这是错误的。因为递归导致的额外的函数调用开销几乎是可以忽略的。递归不能用的原因是“堆栈溢出”,对于三阶行列式几乎是不可能有问题的
至于三阶行列式本身,基本上我也没有见过谁真用递归做的,无一例外都应该是用楼上小火柴的做法