读书人

3阶以上行列式求值有非递归的算法吗?该

发布时间: 2012-02-12 17:16:33 作者: rapoo

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
[解决办法]
说递归的效率低不对,我觉得总有人把不用递归归罪于其效率低,这是错误的。因为递归导致的额外的函数调用开销几乎是可以忽略的。递归不能用的原因是“堆栈溢出”,对于三阶行列式几乎是不可能有问题的

至于三阶行列式本身,基本上我也没有见过谁真用递归做的,无一例外都应该是用楼上小火柴的做法

读书人网 >软件架构设计

热点推荐