关于稀疏矩阵求行列式及其余子式
来源:互联网 发布:apache kylin视频教程 编辑:程序博客网 时间:2024/05/09 19:01
//最近在做数据结构课程设计的时候遇到问题,//关于矩阵求逆,必须先求行列式及余子式。int JsMatrix(int s[][MAXSIZE], int n)//求行列式{int i, j, k, r, total = 0;int b[MAXSIZE][MAXSIZE];//在使用递归时,必须有一个明确的递归结束条件,称为递归出口//当矩阵只有一个元素时,total = s[0][0]//当矩阵只有两行,两列时,total = s[0][0]*s[1][1]-s[0][1]*s[1][0] if (n == 1) { total = s[0][0]; } else if (n == 2) { total = s[0][0]*s[1][1]-s[0][1]*s[1][0]; } else { for (i = 0; i < n; i++) { for (j = 0; j < n-1; j++) { for (k = 0; k < n-1; k++) { //此处的if else 是为了去掉某元素所在的行及所在的列。 //从而构造新的数组调用递归 if (k >= i) { b[j][k]=s[j+1][k+1]; } else { b[j][k] = s[j+1][k]; } } } if (i % 2 == 0) { r = s[0][i] * JsMatrix(b, n-1);//递归调用函数 } else { r = (-1) * s[0][i] * JsMatrix(b, n-1);//递归调用函数 } total += r; } }return total;}void N1Matrix(int s[][MAXSIZE], int b[][MAXSIZE], int n)//求余子式{int i, j, k, l, m, g, d[MAXSIZE][MAXSIZE]; for (i = 0; i < n; i++) { m = i; for (j = 0; j < n; j++) { g = j; for (k = 0; k < n-1; k++) { for (l = 0; l < n-1; l++) { //此处的if else 是为了去掉某元素所在的行及所在列。 //从而构造新的数组调用递归 if (k >= m && l >= g) { d[k][l] = s[k+1][l+1]; } else if (k < m && l >= g) { d[k][l] = s[k][l+1]; } else if (k >= m && l < g) { d[k][l] = s[k+1][l]; } else { d[k][l] = s[k][l]; } } } b[i][j]=JsMatrix(d, n-1);//存放每个元素所对应的余子式 } }}
1 0
- 关于稀疏矩阵求行列式及其余子式
- 求矩阵行列式
- 求矩阵的行列式
- 矩阵求逆 转置 行列式
- 矩阵求逆 转置 行列式
- 求矩阵行列式的方法
- matlab如何求矩阵行列式
- det--求矩阵的行列式
- 【Codewars-求矩阵行列式】python
- 稀疏矩阵及其用法
- 稀疏矩阵及其实现
- 关于稀疏矩阵
- 稀疏矩阵及其转置
- 稀疏矩阵及其应用案例
- 矩阵求逆、转置、行列式(转)
- python实现矩阵求行列式的值
- matlab求矩阵特征值和特征向量、行列式
- 矩阵求逆及行列式求值
- Talented Chef
- java Cookie+Session实现自动登录
- Access System
- 使用windows内存-堆内存
- linux下文件比较工具diff|cmp使用小结
- 关于稀疏矩阵求行列式及其余子式
- 深入浅出数据仓库中SQL性能优化之Hive篇
- Android开发之Buidler模式初探结合AlertDialog.Builder讲解
- 20.cocos2d-x时钟小项目
- HDU 1495 非常可乐(BFS)
- 2016-01-02 FFC
- 树形DP总结,持续更新
- Unity_2D游戏实例从零讲起(1)——认识游戏引擎与Unity
- 原创《终极网络服务端编程》pdf+配套源码